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

足式机器人运动控制方法、装置、设备及介质与流程

2022-05-17 23:21:29 来源:中国专利 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.图1为本技术实施例提供的足式机器人运动控制方法的应用场景示例图;
52.图2为本技术实施例提供的足式机器人运动控制系统的架构图;
53.图3为本技术实施例提供一种工作空间的示例图;
54.图4a为本技术实施例提供的一种足式机器人的结构示例图;
55.图4b为本技术实施例提供的一种摩擦锥的示例图;
56.图5为本技术实施例提供的一种足式机器人运动控制方法的流程图;
57.图6a为本技术实施例提供的一种采样时刻的分布示意图;
58.图6b为本技术实施例提供的足式机器人的运动示例图;
59.图7为本技术实施例提供的一种足式机器人的运动过程示例图;
60.图8为本技术实施例提供的一种足式机器人运动控制装置的结构示意图;
61.图9为本技术实施例提供的一种足式机器人运动控制设备的结构示意图。
具体实施方式
62.为了更好的理解本技术实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。
63.为了便于本领域技术人员更好地理解本技术的技术方案,下面对本技术涉及的名词进行介绍。
64.机器人(robot):包括各类模拟人类行为或思想上模拟其他生物的机械(如机器狗,机器猫等)。在广义上某些电脑程序也被称为机器人。在当代工业中,機器人指能自动执行任务的人造机器人,用以取代或协助人类工作,可以是机电装置,或由电脑程序或电子电路控制。
65.足式机器人:泛指具有足端的机器人,足式机器人可以配置一个或多个腿,每个腿可以配置一个或多个关节,通常一只腿对应是三个关节,每条腿对应一个足端。足式机器人例如两足机器人、四足机器人或六足机器人等。四足机器人例如机器狗。由于足式机器人可能包括多个足端,而在不同时刻落足的足端可能是不同的,因此为了便于区分,可以将足式机器人的各个足端表示为第一足端、第二足端
……
第i足端等,在某个足端落脚时,也就对应机器人迈了该足端对应的腿。
66.规划周期:是指每一次规划机器人的运动时间长度。规划周期的长度可以是任意的,可以根据规划需求设定。规划周期包括多个时刻,在本技术中在确将规划周期中多个时刻中选择出的时刻称为采样时刻。在足式机器人的实际运动过程中,规划足式机器人从a到b,从a到b点所需的总时长可以划分为多个规划周期,将控制足式机器人从a到b的过程具体划分为控制足端机器人依次完成各个规划周期所对应的运动。
67.起始时刻:是指机器人在规划周期内开始运动的时刻。起始时刻例如可以从0开始计时。起始时刻对应机器人所在的位置可以称为起始位置。
68.终止时刻:又可以称为结束时刻,是指在规划周期内结束运动的时刻,即机器人沿规划周期停止运动的时刻。终止时刻对应机器人的位置可以称为结束位置或结束位置。
69.状态数据:包括机器人的质心状态数据,还可以包括机器人的姿态、落脚点和足端位置等。由于状态数据与机器人在当前的状态相关,因此机器人在不同时刻所对应的状态数据不同。
70.质心状态数据:是指用于描述机器人质心状态变化的数据,具体包括机器人的质
心位置、质心速度或质心加速度中的一种或多种。质心位置为机器人质量的中心位置,用于描述机器人的位置,机器人在不同的运动状态下,其质心位置会发生变化。质心速度可以由质心位置对时间求一阶导得到,质心加速可以由质心位置对时间求二阶导得到。为了便于描述,起始时刻的质心位置可以称为起始质心位置,起始时刻的质心速度可以称为起始质心速度,起始时刻的质心加速度可以称为起始质心加速度。同理,结束时刻的质心位置可以称为终点质心位置,结束时刻的质心速度可以称为终点质心速度,结束时刻的质心加速度可以称为终点质心加速度。
71.给定姿态:机器人在运动过程中姿态会不断发生变化,在控制机器人运动之前,可以设定机器人在起始时刻的姿态和设定结束时刻的姿态,设定的姿态即为给定姿态。给定姿态可以用矩阵、向量或者多个坐标值等进行表示。
72.期望姿态:是指根据机器人的落脚点所确定出的机器人在各时刻的姿态,可以理解为期望机器人在某个时刻所达到的姿态。
73.落脚点:是指机器人足端与接触力接触的位置,用于泛指机器人的落脚点,可以是起始落脚点或候选落脚点,当候选落脚点被选中作为足端的落脚点时,则该候选落脚点又可以视为目标落脚点。其中起始落脚点是指起始时刻对应的足式机器人的落脚点。
74.候选落脚点:是指在机器人的足端与接触面接触时,确定的足端与接触面可能接触的位置,通常是根据机器人的运动环境为机器人的每次落脚的足端确定的一个或多个候选落脚点。例如,在第i腿落脚的的候选落脚点包括a、b和c三个。
75.目标落脚点:是指从候选落脚点中最终确定出的被选中的候选落脚点。在本技术实施例中,目标落脚点和迈步次序可以根据二元变量β
ijk
表示,在确定出β
ijk
的取值之后,自然能够对应确定出被选中的候选落脚点,对应也就能获得目标落脚点的取值,根据每次迈步所选中的候选落脚点,对应就能获得每次迈步的腿,即获得迈步次序。
76.质心位置变化系数:质心位置变化系数用于描述质心位置随时间变化的参数。质心位置变化系数以矩阵形式表示,或者以向量形式表示等。质心位置变化系数与时间间隔能够共同表示特定时刻的质心位置,该时间间隔是指该特定时刻与起始时刻之间的时间差。
77.接触面:是指机器人的足端与环境所接触的面,接触面例如地面、或其它与足端接触的支撑物等。应当说明的是,由于路面不平整等其它情况,足式机器人所对应的接触面可能是不同的。本技术实施例中是以足端接触接触面为例进行说明,但本技术实施例涉及的方法依旧适用于足式机器人其它部位与接触面接触的情况。
78.质心运动轨迹:又可以称为质心位置运动轨迹,又可以称为质心轨迹,用于描述机器人在不同时刻的质心位置。质心运动轨迹实际由机器人在不同时刻的质心位置组成。
79.接触点的数量:是指机器人与接触面接触的足端的数量。当然,机器人在不同时刻,与接触面接触的足端的数量不完全相同,因此接触点的数量随时间可能发生变化。
80.迈步时序:机器人在什么时候迈什么腿,具体包括迈步时间和迈步次序。其中,迈步时间用于描述机器人在规划周期过程中什么时候迈腿。迈步次序是指机器人在规划周期内迈腿的顺序,例如机器人先迈左后腿、再迈右后腿等。
81.足端接触力:是指机器人的足端与接触面之间的接触力大小,当机器人的足端与接触面不接触时,则该足端与接触面之间不存在足端接触力,或者可以理解为足端接触力
为0。
82.约束条件集合:是指用于约束质心位置变化系数、迈步次序、落脚点和足端接触力四个变量中的一个或多个。约束条件集合包括一个或多个约束条件。本技术实施例中的约束条件集合包括用于约束迈步次序的约束条件、空间落脚约束条件、摩擦力约束条件和接触力约束条件。下面对各个约束条件进行介绍:
83.(1)用于约束迈步次序的约束条件包括如下至少一种:
84.约束足式机器人每条腿在每次迈步时最多选中一个候选落脚点第一约束条件;
85.约束足式机器人每条腿迈步之后不会撤回的第二约束条件;
86.约束足式机器人在规划周期内的迈步次数达到预设迈步次数的第三约束条件;其中,选中一候选落脚点则对应迈步一次。
87.(2)空间落脚约束条件:用于约束足式机器人在每次迈步后的足端均是处于该足端对应的工作空间中。该空间落脚约束条件可以用于约束机器人的质心位置变化系数、迈步次序和落脚点。
88.(3)摩擦力约束条件:用于约束足端接触力位于摩擦锥内,以避免足式机器人与接触面之间出现打滑的情况,其中摩擦锥是根据足式机器人在候选落脚点的法向量和落脚的足端与接触面之间的摩擦系数确定的。
89.(4)足端接触力约束条件:用于约束足端接触力在法线方向上的接触力小于或等于接触力上限,以避免足式机器人与接触面之间的作用力过大。
90.目标运动控制参数:是指用于控制足式机器人运动所需的参数,标运动控制参数包括足式机器人在每个时刻的期望关节角度和每个时刻的关节力矩等。
91.姿态变化角参数:包括机器人姿态变化角、姿态变化角速度和姿态变化角加速度。姿态变化角可以理解机器人从一个姿态变化至另一个姿态的变化角度,例如机器人从a点以第一姿态移动至b点,机器人在b点也是第一姿态,那么机器人的姿态变化角度为0。姿态变化角速度是姿态变化角度对时间求一阶导数获得,姿态变化角加速度是姿态变化角度对时间求二阶导数获得。
92.另外,本技术实施例中的“多个”是指两个或两个以上,“至少一个”是指一个或多个。
93.为了提高生成的运动控制参数与环境的适应性,本技术实施例提供一种足式机器人运动控制方法,下面对本技术实施例涉及的足式机器人运动控制方法的设计思想进行介绍。
94.本技术实施例中为规划周期中需要迈步的腿分别确定候选落脚点和迈步次数,根据各足端的候选落脚点和迈步次数,确定质心位置变化系数、落脚点与足端接触力之间的第一关系式,从而结合第一关系式和约束条件集合,确定出足式机器人的目标质心位置变化系数、目标落脚点和目标迈步次序,进而根据目标质心位置变化系数、迈步次序确定足式机器人的质心运动轨迹,并根据质心运动轨迹和目标落脚点,确定目标运动控制参数,利用目标运动控制参数控制足式机器人在规划周期内运动。由于本技术实施例中在确定足式机器人的目标运动控制参数时,足式机器人的质心位置变化系数、迈步次序和落脚点变量等均是根据实际情况规划出来的,因此使得基于这些变量确定出的运动控制参数能够更符合足式机器人的运动环境,从而提高确定出的运动控制参数与环境之间的适应性。
95.进一步地,本技术实施例中可以根据第一关系式、约束条件集合、以及代价函数构建混合整数二次规划,利用求解混合整数二次规划的方式求解目标质心位置变化系数、目标落脚点和目标迈步次序。由于混合整数二次规划问题如果存在解,必然能够求解出全局最优解,因此将求解目标质心位置变化系数、目标落脚点和目标迈步次序转换为混合整数二次规划问题,使得能够求解出最优的目标质心位置变化系数、目标落脚点和目标迈步次序。
96.基于上述设计思想,下面对本技术实施例中足式机器人运动控制方法的应用场景进行介绍。
97.该足式机器人运动控制方法适用于控制各类足式机器人在各种环境下的各种步态。各类足式机器人例如双足机器人、四足机器人等。各种环境例如平地、不平地面、斜坡或楼梯等。各种步态例如双足行走、四足行走、四足小跑和随机步态等。
98.请参照图1,为一种足式机器人运动控制方法的应用场景图,或者可以理解为足式机器人运动控制系统的架构图,该架构图包括足式机器人110和控制设备120,下面对控制设备120与足式机器人110之间的交互进行示例介绍。
99.在一种可能的情况中,控制设备120与足式机器人110是相对独立的两个设备:
100.在该情况下,足式机器人110和控制设备120之间通过有线或无线进行通信,图1中是以足式机器人110和控制设备120之间利用通信网络实现通信为例。
101.在控制足式机器人110运动之前,控制设备120可以根据用户的操作,或者足式机器人110的任务,设置足式机器人110起始时刻的状态数据和迈步次数。或者,足式机器人110可以检测起始时刻的状态数据,并将起始时刻的状态数据上传至控制设备120。或者,控制设备120直接采集足式机器人110在起始时刻的状态数据。在某些情况下,可能不需要获取足式机器人110的迈步次数。
102.进一步地,控制设备120采集足式机器人110当前所处的环境图像,或接收足式机器人110上报的环境图像,控制设备120根据该环境图像确定足式机器人110在规划周期内需要落脚的足端可能的候选落脚点。当然,控制设备120确定候选落脚点的方式有多种,下文进行具体介绍。
103.控制设备120根据状态数据、迈步次数和候选落脚点,确定足式机器人110的运动控制参数,进而控制足式机器人110进行相应的运动。其中,确定运动控制参数的内容将在下文中进行介绍。
104.控制设备120可以通过服务器或终端实现,服务器包括但不限于:独立的物理服务器、多个物理服务器构成的服务器集群、或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端例如手机、个人计算机、智能电视或便携式平板电脑等。
105.在另一种可能的情况中,控制设备120为足式机器人110的一部分:
106.控制设备120可以设置在足式机器人110的机体内,例如,控制设备120为足式机器人110中的内部处理器等。
107.在控制设备120控制足式机器人110运动之前,控制设备120可以从上位机接收运动指令,或根据用户的输入操作以获得运动指令,该运动指令可以指示足式机器人110执行
某项任务,或者指示足式机器人110规划周期内的起始时刻和结束时刻。上位机可以为与控制设备120无线或有线连接的任意设备,上位机例如终端或服务器等。
108.同理,控制设备120采集足式机器人110状态数据。控制设备120可以根据足式机器人110当前所处的环境图像,确定足式机器人110每次落脚的足端可能的候选落脚点。控制设备120根据状态数据、迈步次数和候选落脚点,确定足式机器人的目标运动控制参数,以控制足式机器人110运动。其中,确定目标运动控制参数的内容将在下文中进行介绍。
109.为了更清楚地介绍控制设备120的结构,下面结合图2所示的足式机器人运动控制系统进行示例介绍,图2中是以控制设备120包括视觉感知单元210、轨迹生成单元220和运动控制单元230为例。
110.其中,视觉感知单元210可以设置在足式机器人110上,例如搭载在足式机器人110的头部。视觉感知单元210例如包括摄像头、红外摄像头中的一种或多种。摄像头例如rgbd摄像头。视觉感知单元还包括用于实现即时定位与地图创建(simultaneous localization and mapping)功能。
111.视觉感知单元210采集机器人的状态数据。状态数据包括足式机器人110起始时刻的状态数据。
112.另外,视觉感知单元210还可以采集足式机器人110所处的环境图像,获得足式机器人110每次落脚可能的候选落脚点。在获得状态数据、环境图像之后,视觉感知单元210可以将状态数据和环境图像发送至轨迹生成单元220。
113.或者,轨迹生成单元220可以通过足式机器人110的内部传感器和外部传感器获得足式机器人110的状态数据。或者轨迹生成单元220可以将上一个规划周期的结束时刻的期望状态数据作为当前对应规划周期的起始时刻的状态数据。或者,轨迹生成单元220通过运动控制单元230的状态估计器获得足式机器人110的状态数据。
114.轨迹生成单元220接收状态数据和候选落脚点,并根据状态数据、候选落脚点和迈步次数,确定足式机器人110在多个时刻的质心位置、目标落脚点和迈步次序,并根据多个时刻的质心位置和迈步次序等获得该足式机器人110的质心运动轨迹,进而根据质心运动轨迹和目标落脚点确定足式机器人110的全身运动轨迹,将全身运动轨迹和目标落脚点发送给运动控制单元230。
115.运动控制单元230可以根据全身运动轨迹和目标落脚点,确定该足式机器人110各个关节的关节力矩,按照各个关节力矩,控制足式机器人110的各个关节转动,从而实现足式机器人110的运动。
116.进一步地,运动控制单元230还可以监测足式机器人110移动的过程中实时的状态数据,根据实时的状态数据,控制足式机器人110的运动,以保证足式机器人110能够稳定移动。
117.基于上述应用场景,下面对本技术实施例涉及的足式机器人运动控制方法的总体思路进行介绍:
118.本技术实施例,根据状态数据、迈步次数以及各足端的候选落脚点,确定质心位置变化系数、足端接触力、以及落脚点之间的第一关系式,以及约束条件集合,进而求解出质心位置变化系数、迈步次序和落脚点,进而根据目标质心位置变化系数和目标迈步次序,获得足式机器人110的质心运动轨迹,并根据质心运动轨迹、迈步次序和目标落脚点确定足式
机器人110的目标运动控制参数,利用目标运动控制参数控制足式机器人110的运动。
119.进一步地,在确定质心位置变化系数、目标落脚点和目标迈步次序时,可以结合约束条件集合和第一关系式,将确定质心位置变化系数、落脚点和迈步次序的问题转换为一个混合整数二次规划问题,通过求解该混合整数二次规划问题,以获得目标质心位置变化系数、目标落脚点和目标次序。第一关系式、第二关系式以及约束条件集合是控制设备120中预配置的,或者控制设备120从其他设备或网络资源获取的,或者由控制设备120创建的。下面对控制设备120创建第一关系式、第二关系式以及约束条件集合的方式进行示例介绍:
120.一,获得第一关系式以及用于约束迈步次序的约束条件:
121.控制设备120可以从网络资源或其他设备获得质心动力学方程,该质心动力学方程表示足式机器人与所受外力之间的关系。控制设备120将该质心动力学方程中每个时刻的质心位置采用起始质心位置、质心位置变化系数和时间间隔共同表示,从而将质心动力学方程转换为质心位置变化系数、足端接触力、以及落脚点之间的第一关系式。在获得第一关系式之后,控制设备120可以以任意形式存储该第一关系式,任意形式例如函数形式、描述语句形式等。
122.下面对控制设备120创建第一关系式的过程进行具体示例介绍:
123.1:获得足式机器人110的质心动力学方程。
124.质心动力学方程的含义可以参照前文论述的内容,此处不再赘述。质心动力学方程可以有多种表达形式,例如牛顿-欧拉方程,一种质心动力学方程示例如下:
[0125][0126]
其中,m为足式机器人110的总质量,g∈r3为重力加速度,pg∈r3为足式机器人110的质心位置,为足式机器人110与接触面接触的第i个接触点的位置,或者也可以称为落脚点,即表示与接触面接触的足端的位置,l∈r3为足式机器人110的质心角动量,表示由质心角动量对时间求一阶导,fi∈r3为第i个接触点的足端接触力,nc为接触点的个数,即落脚的足端的数量,运算是指()的斜对角阵,表示由pg对时间间隔求二阶导,i表示单位矩阵。r3表示坐标系下的三个坐标值。
[0127]
应当说明的是,本技术实施例中在没有特定说明的情况下,各个量均是在世界坐标系下的表示结果。例如公式(1)中的各个变量均是在世界坐标系下的表示结果。
[0128]
需要说明的是,公式(1)中的前三行是根据牛顿定律获得的,后三行是根据欧拉方程获得的。
[0129]
进一步地,根据上述公式(1)中的前三行可知:将公式(2)代入公式(1),获得如下公式:
[0130][0131]
其中,gi∈r6×3是6
×
3的矩阵。
[0132]
2:将质心动力学方程中每个时刻的质心位置表示为从起始质心位置与经过时间间隔t后的质心位置变化量之和,获得第二关系式。
[0133]

:将质心位置设置表示为起始时刻的质心位置到经过时间间隔t后的质心位置变化量之和,具体为:
[0134]
pg=p
init
p
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0135]
其中,p
init
表示起始质心位置,p
t
表示经过时间间隔t后的质心变化量。
[0136]

:将公式(4)代入公式(3),获得第二关系式如下:
[0137][0138]
下面对上述第二关系式中的各项进行分析:
[0139]
第一项与和p
t
呈线性关系,第二项为常数项,第三项存在第四项存在和的乘积。
[0140]
作为一种实施例,当足式机器人110的姿态变化较小时,近似为03×1,或者,可以根据足式机器人110预配置的每个时刻的姿态,确定出该第三项的取值。
[0141]
在一种可能的实施例中,的取值可以根据起始时刻足式机器人的给定姿态和结束时刻的给定姿态确定,下面对确定的公式进行说明:
[0142]
在规划周期内姿态变化量可以表示为:
[0143]
δr=r
tertst
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0144]
其中,本技术中的()
t
表示对()进行转置处理;δr为姿态变化量,r
ts
为起始时刻的给定姿态,r
te
为结束时刻的给定姿态。其中,姿态变化量可以表示成绕某个单位轴l旋转某个姿态角度θ得到的:
[0145][0146][0147]
其中,单位轴l为一个向量表示的旋转轴,δr
11
表示δr中第1行第1列的元素,δr
22
表示δr中第2行第2列的元素,δr
23
表示δr中第2行第3列的元素,δr
32
表示δr中第3行第2列的元素,δr
21
表示δr中第2行第1列的元素,δr
12
表示δr中第1行第2列的元素,δr
33
表示δr中第3行第3列的元素。
[0148]
在满足如下条件下,对姿态变化角进行三次曲线插值:
[0149][0150]
其中,θ
ts
表示起始时刻的姿态变化角,θ
te
表示终止时刻的姿态变化角,表示姿
态变化角对时间的一阶导数在起始时刻的值,表示姿态变化角对时间的一阶导数在终止时刻的值,因此足式机器人在任意时刻的给定姿态可以表示为:
[0151][0152]
其中,i表示单位矩阵,r
t
∈r3×3为旋转矩阵,表示足式机器人110在对应时刻的给定姿态,θ
t
表示任意时刻对应的姿态变化角度。
[0153][0154][0155]
其中i0表示足式机器人在机体坐标系中的关于质心的转动惯量,表示足式机器人在某一坐标系下的转动惯量,该坐标系的原点为足式机器人110的质心位置处,该坐标系的姿态与世界坐标系的姿态相同,可以取固定值,表示在世界坐标系下ω的表示结果,ω表示机体坐标系下的角速度。表示姿态变化角速度,表示姿态变化角加速度。
[0156]
3:将第二关系式中的第四项中的质心位置变化量表示为各个方向上变化量的矢量和,获得第四关系式:
[0157][0158]
其中,p
t
=p
txy
p
tz
,p
txy
包括p
t
在x和y轴上的分量。是指质心位置变化量p
t
在xy轴构成的平面上的分量对时间的二阶导数,即质心加速度在x、y轴构成的平面上的分量;是指质心位置变化量p
t
在z轴上的分量对时间的二阶导数,即质心加速度在z轴上的分量;表示质心位置变化量p
t
在xy轴构成的平面上的分量的斜对角阵,表示质心位置变化量p
t
在z轴分量的斜对角阵。
[0159]
p
txy
的z坐标为0,p
tz
包括p
t
在z轴上的分量,p
tz
对应的x和y的坐标为0。产生绕z轴的力矩为xy平面内某一方向上的力矩为xy平面内某一方向上的力矩为由于和p
tz
共线,因此
[0160]
另外,足式机器人110在z轴方向上的运动通常较为稳定,因此可以忽略p
tz
以及此外,p
txy
,以及的绝对值较小,也可以忽略。在实际控制足式机器人110的过程中,可以通过调整足端与接触面之间的足端接触力来补偿上述公式(11)相关的力矩
[0161]
作为一种实施例,可以忽略第二关系式中的第五项,获得第五关系式:
[0162]
gf≈h0x
t-w
ꢀꢀ
(12)
[0163]
其中:
[0164][0165]
其中,h0可以根据起始时刻的质心位置计算得的,w可以是固定值,或者根据足式
机器人在每个时刻的姿态计算得到,x
t
包括质心位置变化量p
t
和质心加速度为待定量。
[0166]
4:将质心位置变化量设置为以时间为自变量的n阶多项式,具体如下:
[0167]
将质心位置变化量设置为以时间为自变量的n阶多项式,具体如下:
[0168][0169]
其中,t
p
=[1t

tn]∈r1×
(n 1)
,c
*
=[c
*,0c*,1
…c*,n
]
t
∈r
n 1
为多项式系数,*代表x、y和z,t表示时间间隔,即该时刻与空间路径起点对应时刻之间的时间间隔,c是指质心位置变化系数,包含了所有多项式系数。在实际应用中在获得质心位置变化系数c后,根据上述公式(13)能计算出多个时刻中每个时刻的质心位置。
[0170]
作为一种实施例,n的取值大于或等于2的任意整数。
[0171]
5:对公式(13)求时间的二阶导,获得如下表达式:获得质心加速度,并根据质心加速度以及第二关系式,获得第六关系式。
[0172]
其中,质心加速度具体表示如下:
[0173][0174]
将公式(13)和公式(14)代入公式(12)获得如下的第六关系式为:
[0175][0176]
其中,与时间间隔t相关,公式(15)表示了多项式系数c与足端接触力fi之间的关系,该关系实际上是对质心动力学方程进行变换得到的。
[0177]
6:在公式(15)中引入被选中的候选落脚点。被选中的候选落脚点是指从多个候选落脚点中被确定用于作为足端的落脚点,也可以视为目标落脚点。
[0178]
作为一种实施例,假设足式机器人在规划周期内规划了k(0<k≤h)次迈步,并且一条腿最多只迈一次,h表示足式机器人腿的数量。足式机器人110中需要迈步的足端通常会有不止一个候选落脚点,第i只腿的第j个候选落脚点用r
ij
(j=1,2,

,ni)表示,ni表示第i足端的候选落脚点的数量。引入一组二进制变量β
ijk
(i=1,2,

,h;j=1,2,

,ni;k=1,2,

,k),表示第k步后足式机器人110腿i的候选落脚点j是否被选中。由此可得足式机器人110第k次迈步后,第i腿的落脚点为:
[0179][0180]
其中涉及到用于约束迈步次序的约束条件,至少包括如下第一约束条件、第二约束条件和第三约束条件中的一种或多种,下面进行说明:
[0181]
第一约束关系用于约束足式机器人每条腿在迈步时最多选中一个候选落脚点,具体可以表示为:
[0182]
[0183]
公式(16)表示ni中二进制变量只有一个等于1,其余为0,“1”表示选中某个候选落脚点,“0”表示没有选中候选落脚点。
[0184]
第二约束关系用于约束每条腿在迈步之后不会撤回,具体可以表示为:
[0185][0186]
第三约束条件用于表示足式机器人在规划周期内的迈步次数满足预设迈步次数,具体可以表示为:
[0187][0188]
其中,公式(18)表示在规划周期内,足式机器人110要完成k次的迈步。β
ijk
表示第k次迈步后(即最后一次迈步后)每条腿对应的β
ijk
的取值。
[0189]
作为一种实施例,上述用于约束迈步次序的约束条件可以是控制设备120从网络资源或其它设备获得,或者控制设备120自定创建,控制设备120可以以任意形式存储上述用于约束迈步次序的约束条件。
[0190]
当第k次迈腿之后,如果β
ijk
取值为0,表示落脚点不在候选落脚点上,候选落脚点r
ij
不提供作用力。当β
ijk
取值为1,表示r
ij
为当前落脚点,当第i足端移动后,对应腿的初始落脚点的接触力f
is
=0,表示初始落脚点不提供支持力。当第i足端位于初始落脚点时,则表示初始落脚点提供支持力,即f
is
不为0,因此可以将公式(15)改写成如下公式:
[0191][0192]
其中,f
is
和g
is
分别表示初始落脚点所对应的足端接触力和gi的取值。
[0193]
下面对公式(19)进行说明,只有与接触面接触的足端才能产生足端接触力,足式机器人为h足机器人,那么每个时刻与接触面接触产生的足端接触力最多有h个不为0。当足式机器人迈出某个足端之后,该足端对应的f
is
则为0,该足端所对应的候选落脚点的接触力根据腿是否落下及落脚点是否被选中确定,当足式机器人没有迈出某个足端时,该足端所对应的f
is
取值则不为0。
[0194]
由于在不同时刻,f
ij
、w、h的取值可能不同,因此可以将上述公式(19)进一步表示为如下所示的第一关系式:
[0195][0196]
应当说明的是,u表示对应时刻,f
isu
表示在第u时刻f
is
的取值,hu表示第u时刻h的取值,wu表示第u时刻w的取值。
[0197]
应当说明的是,上述是对创建第一关系式的过程进行示例说明,实际上述过程中可以利用其它的动力学方程描述足式机器人110的质心运动轨迹,进而对其它的动力学方程进行变换,以获得第一关系式。
[0198]
应当说明的是,上述是对创建第一关系式的过程进行示例说明,实际上述过程中可以利用其它的动力学方程描述足式机器人110的质心运动轨迹,进而对其它的动力学方程进行变换,以获得第一关系式。
[0199]
二,获得约束条件集合:
[0200]
约束条件集合包括一个或多个约束条件,每个约束条件是用于约束质心位置变化系数、落脚点、迈步次序、足端接触力中的一个或多个的取值,每个约束条件的形式可以是不等式。约束条件集合包括空间落脚约束条件、摩擦力约束条件和足端接触力约束条件中的一种或多种。各个约束条件的含义可以参照前文论述的内容,此处不再赘述。
[0201]
应当说明的是,由于足式机器人110在每个时刻的足端接触力大小是不同的,因此每个时刻,足端与接触面之间的摩擦力也是不同的,因此摩擦力约束条件实际上约束了每个时刻接触面接触的足端与接触面之间的摩擦力大小,同理接触力约束条件是约束了每个时刻足端接触力在法线方向上的接触力大小。
[0202]
控制设备120可以是从网络资源、或其它设备获得约束条件集合、或者自行创建的约束条件集合,下面对控制设备120创建各个约束条件进行示例说明:
[0203]
(1)获得空间落脚约束条件:
[0204]
1:将足式机器人110足端对应的工作空间近似为凸多面体,并获得该凸多面体中各个面的线性不等式的表示,联合各个面的线性不等式,获得凸多面体的线性不等式表示。凸多面体的线性不等式表示如下:
[0205]sit
xi≤diꢀꢀ
(21)
[0206]
其中,si=[s
il s
i2
ꢀ…ꢀsil
]∈r3×
l
,di=[d
il d
i2
ꢀ…ꢀdil
]∈r1,xi表示足式机器人110在该坐标系下的落脚点,d
il
是凸多面体中面与原点之间的距离,s
il
表示凸多面体中面对应的单位法向量,l表示凸多面体对应的面的数量,凸多面体是根据足式机器人110落脚的足端配置的关节的运动范围,以及关节的长度确定的。运动范围例如关节的转动范围或者关节的平动范围。
[0207]
具体的,控制设备120根据足式机器人110关节的运动范围和关节的长度,离散地确定出足式机器人110的足端相对于该关节可达到的位置。该关节是落脚的足端配置的关节,具体可以是与该足端直接连接的关节,或者与该足端通过关节所连接的其它关节。关节的运动范围是指关节能够运动的最小角度和最大角度组成的范围,例如关节的运动范围为0
°
~120
°
,该运动范围通常是已知的。关节的长度例如为1米。
[0208]
在离散地确定出足式机器人110的足端相对于该关节可达到的多个位置后,控制设备120拟合多个位置,从而获得足式机器人110足端的工作空间。而足式机器人110足端的工作空间一般呈非凸区域,但可以通过拟合方式将工作空间近似为凸多面体。凸多面体具体如图3中所示的凸多面体310,图3中所示的多个点中每个点表示足端相对于该关节可达到的位置。
[0209]
在近似成凸多面体之后,控制设备120可以获得该凸多面体中每个面的线性不等式表示,每个面的线性不等式表示具体表示为s
ilt
xi≤d
il
。控制设备120联合该凸多面体各个面的不等式,从而获得如上述的公式(21)。
[0210]
在具体实施时,上述公式(21)可以在关节的局部固定坐标系中进行,关节的局部固定坐标系是指以该关节的局部为坐标原点建立的坐标系,即关节的局部固定坐标系的坐标原点与世界坐标系下的坐标原点可能不同。关节可以是与落脚的足端相关的任一关节。
[0211]
例如,请参照图4a,为足式机器人110的结构示意图,该足式机器人110包括多个关节410,4个足端420,每个足端420配置有多个关节,关节的局部固定坐标系如图4a中所示的
坐标系。在该关节的局部固定坐标系下,各个变量均可以根据该关节的局部固定坐标系分解为多个变量。
[0212]
如前文论述的内容,控制设备120已提前确定出了需要落脚的足端所对应的候选落脚点430,控制设备120可以根据上述公式(21)判断选择的某个候选落脚点430是否位于足端的凸多面体内。例如,可以判断足式机器人110在时间间隔t后,第i足端的落脚点是否位于该凸多面体中。
[0213]
2:将落脚点位置ri转换为局部固定坐标系的表示,获得第七关系式。
[0214]
由于上述公式(21)为局部固定坐标系下的表示结果,因此需要将世界坐标系(又可以称为全局坐标系)下的落脚的足端的位置ri转换为局部固定坐标系下的表示结果xi,具体转换过程表示为:
[0215][0216]
其中,p
il
∈r3为足式机器人110中第i足端的关节相对于足式机器人110质心在身体坐标系中的位置,r
il
∈r3为关节在局部固定坐标系中相对于身体坐标系的姿态。p
il
和r
il
均为常量。
[0217]
作为一种实施例,当足式机器人110的姿态变化较小时,r
t
可以为常数,或者控制设备120可以根据对应时刻足式机器人110的给定姿态确定。
[0218]
3:将公式(4)中质心位置变化量表示为与时间相关的n阶多项式,并代入第七关系式中,根据第七关系式以及公式(21),获得第八关系式:
[0219]
控制设备120联合上述公式(4)、(13)、(21)和(22),获得第八关系式为:
[0220]ai
t
p
b
iri
≤biꢀꢀ
(23)
[0221]
其中:
[0222][0223][0224][0225]
但由于不确定足式机器人110每次到底迈哪条腿,因此足式机器人在迈k步后的落脚点r
ik
可以表示为如下关系式:
[0226][0227]
其中,r
is
表示初始时刻的初始落脚点r
is
(i=1,2,3

h)。上述公式(24)表示当足式机器人110某条腿未移动,则该腿的位置处于初始落脚点,如果该腿已移动,则该腿的位置处于选中的候选落脚点上。
[0228]
将公式(24)代入(23)中,获得如下第八关系式为:
[0229][0230]
4:将时间引入第八关系式,获得空间落脚约束条件:
[0231]
由于不同时刻,该空间落脚约束条件中对应的某些量取值不同,因此可以将时间引入第八关系式,获得空间落脚约束条件为:
[0232][0233]
其中,a
iu
、b
iu
和b
iu
分别表示第u个时刻对应的ai、bi和bi。
[0234]
下面对控制设备120创建摩擦力约束条件和接触力力约束条件的方式进行示例:
[0235]
(2)获得摩擦力约束条件:
[0236]
1:确定每个接触力对应的摩擦力约束表示,获得第九关系式:
[0237]
每个足端接触力fi(i=1,2

h)均受到摩擦力约束,摩擦力约束是将足端接触力约束在摩擦锥内,摩擦锥一般是圆锥体,但因为圆锥体的表达是非线性的三角函数,因此在本技术实施例中将圆锥体近似为内接四棱锥,而内接四棱锥可以通过四棱锥的四个面联合表示,因此在本技术实施例中的摩擦力约束条件具体可以近似表示为如下第九关系式:
[0238][0239]
其中,初始落脚点r
is
对应的法向量可以表示为n
is
,候选落脚点r
ij
对应的法向量可以表示为n
ij
。n
is
=-[μin
is-o
i μin
is
o
i μin
is-t
is μin
is
t
is
]∈r3×4,n
is
表示第i腿的落脚点的法向量,o
is
表示第i足端的落脚点的在一个切线方向上的向量,t
is
第i足端的落脚点的另一个切线方向上的向量,μi表示足端与接触面之间的摩擦系数。n
is
可以理解为摩擦锥的四个面约束,满足公式(27)的初始落脚点对应的足端接触力是位于摩擦锥内的。
[0240]nij
=-[μin
ij-o
i μin
ij
o
i μin
ij-t
ij μin
ij
t
ij
]∈r3×4,n
ij
表示第i腿的落脚点的法向量,o
ij
表示第i足端的落脚点的在一个切线方向上的向量,t
ij
第i足端的落脚点的另一个切线方向上的向量,μi表示足端与接触面之间的摩擦系数。n
ij
可以理解为摩擦锥的四个面约束,满足公式(27)的初始落脚点对应的足端接触力是位于摩擦锥内的。f
is
表示足式机器人110对应初始落脚点的足端接触力,f
ij
表示足式机器人110对应候选落脚点的足端接触力。
[0241]
实际上,足式机器人110处于初始落脚点时,该足式机器人110在初始落脚点所对应的f
is
取值不为0,与之相反,f
ij
则取值为0。足式机器人110从初始落脚点迈步到候选落脚点时,该足式机器人110在初始落脚点所对应的f
is
取值为0,与之相反,f
ij
则取值不为0。
[0242]
例如请参照图4b,表示一种摩擦锥的示例图,摩擦锥为图4b中所示的圆锥体,在本技术实施例中将圆锥体用图4b中所示的内接四棱锥进行替换。
[0243]
例如,继续参照图4a,图4a中表示由接触点的法向确定的局部坐标系,该局部坐标系可以参照如图4a中所示的oi、ni和ti,图4a中的oi、ni和ti分别与图4b中的oi、ni和ti对应。
[0244]
应当说明的是,足端所接触的接触面材质不同时,对应的摩擦系数的取值也可能不同,在同一个时刻,不同足端所接触的接触面不同,不同足端与接触面之间的摩擦力系数也可能不同。
[0245]
应当说明的是,本技术实施例中是将圆锥体近似为内接四棱锥为例进行说明,但实际上该圆锥体可以近似为其它多棱锥,具体不做限定。
[0246]
2:在公式(27)中引入时间,获得摩擦力约束条件。
[0247]
引入时刻,上述公式(27)可以表示为如下的摩擦力约束条件:
[0248][0249]
其中,f
isu
表示第u个时刻第i足与初始落脚点之间的足端接触力,f
ijk
表示第k个时刻且第i足端第j个候选落脚点的足端接触力。
[0250]
(3)获得接触力约束条件:
[0251]
足式机器人110在运动过程中,足端与接触面之间的足端接触力如果过大,容易损害足式机器人110的部件,因此可以设置接触力约束条件,约束足式机器人110与接触面之间的足端接触力大小,避免足式机器人110每次运动与接触面之间的作用力过大。
[0252]
下面对控制设备120创建接触力约束条件的方式进行示例:
[0253]
1:将足端接触力在法线方向上的分力设置为小于或等于接触力上限,获得第十关系式:
[0254][0255]
其中,表示足式机器人110与初始落脚点之间的足端接触力之间的接触力上限,其取值可以根据实际情况设置,例如可以参照足式机器人的重力设置。表示足式机器人110与候选落脚点之间的足端接触力之间的接触力上限。
[0256]
2:在第十关系式中引入时间,获得接触力约束条件:
[0257]
由于每个时刻的足端接触力不同,在公式(29)中引入时间,具体表示为:
[0258][0259]
由于第一关系式、第二关系式和约束条件集合包括的关系式较少,而需要求解的未知量较多,因此基于第一关系式、第二关系式和约束条件集合求解出的质心位置变化系数、落脚点和迈步次序并不是唯一解,因此在实际求解上述中的质心位置变化系数、目标落脚点和迈步次序时,可以从满足第一关系式、第二关系式和约束条件集合的取值中随机确定出目标质心位置变化系数、目标落脚点和目标迈步次序。
[0260]
或者,为了获得较佳的质心位置变化系数、目标落脚点和迈步次序,本技术实施例中还可以引入代价函数,利用代价函数进一步地筛选出最优的质心位置变化系数、目标落脚点和迈步次序,进而将最优的质心位置变化系数确定为目标质心位置变化系数,将最优的落脚点确定为目标落脚点,将最优的迈步次序确定为目标迈步次序。
[0261]
由于求解混合整数二次规划必然地能够获得相应的解,因此本技术实施例中可以将确定目标质心位置变化系数、目标落脚点和目标迈步次序转化为一个混合整数二次规划问题,为此,本技术实施例中的代价函数至少包括一个或多个变量的二次项,一个或多个变量可以是满足第一关系式、第二关系式约束条件集合的候选结果相关的任意的变量。二次项可以根据变量的二次方构建的。
[0262]
在一种可能的实施例中,代价函数包括如下的a1~a3中的至少一种:
[0263]
a1:在规划周期内足端接触力相关的二次项;
[0264]
a2:在规划周期内质心位置变化量的二次项;
[0265]
a3:在规划周期对应的结束时刻的规划质心状态数据与期望质心状态数据之间差值的二次项。
[0266]
规划质心状态数据包括规划质心位置、规划质心加速度和规划质心速度中的一种或多种,期望质心状态数据包括期望质心位置、期望质心加速度和期望质心速度中的一种或多种。因此,a3可以具体包括如下一种或多种:
[0267]
a3-1:在规划周期对应的结束时刻的规划质心位置与期望质心位置之间差值的二次项;
[0268]
在一种可能的实施例中,期望质心位置是根据候选结果中的落脚点确定的。
[0269]
期望质心位置可以理解为足式机器人在规划周期内的目标落脚点构成的多边形的中心点上方某一合适高度的位置,中心点上方某一合适高度的位置具体可以是在中心点的基础上增加一个常数值,以获得期望质心位置。该常数值可以根据足式机器人的高度确定。或者该期望质心位置可以预先设定的。例如,目标落脚点具体包括4个目标落脚点,则可以确定4个目标落脚点的中心点,然后在该中心点的基础上增加足式机器人110的高度,从而获得期望质心位置。
[0270]
规划质心位置可以根据质心位置变化系数确定,具体计算公式可以参照前文的公式(4)和公式(13)。
[0271]
a3-2:在规划周期对应的结束时刻的规划质心速度与期望质心速度之间差值的二次项;
[0272]
在一种可能的实施例中,期望质心速度是根据候选结果中的落脚点确定的,具体在确定期望质心位置之后,利用期望质心位置与初始质心位置的差值除以时间,从而获得期望质心速度。
[0273]
根据式(13)的一阶导数关系式获得规划质心速度。
[0274]
a3-3:在规划周期对应的结束时刻的规划质心加速度与期望质心加速度之间差值的二次项;
[0275]
在一种可能的实施例中,期望质心加速度是根据候选结果中的落脚点确定的,具体在确定期望质心速度之后,利用期望质心速度与初始质心速度的差值除以时间,从而获得期望质心加速度。例如,根据式(14)获得规划质心加速度。
[0276]
下面对上述各个二次项的作用进行分析:
[0277]
a1的作用:足端接触力相关的二次项可以用于优化足端与接触面之间的作用力的分配,使得足式机器人110在行走过程中足端与接触面之间的作用力分配更为均匀。
[0278]
a2的作用:质心位置变化量反应了质心运动轨迹的长度,有利于降低质心运动轨迹的震荡幅度。
[0279]
a3-1~a3-3的作用:有利于降低计算结果与期望结果之间的误差。
[0280]
联合上述a1~a3,一种代价函数的表达式如下:
[0281]jgrf
j
len
j
tgt
ꢀꢀ
(31)
[0282]
其中,j
grf
为在规划周期内所有足端接触力的加权平方和,j
len
为每相邻两个时刻之间的质心位置变化量之间的差值的加权平方和,j
tgt
为在规划周期对应的结束时刻的规划质心位置与期望质心位置之间差值、在规划周期对应的结束时刻的规划质心速度与期望
质心速度之间差值和在规划周期对应的结束时刻的规划质心加速度与期望质心加速度之间差值的加权平方和。
[0283]
在介绍完构建第一关系式、约束条件集合和代价函数之后,下面结合图5所示的足式机器人运动控制方法的流程,对本技术实施例具体如何利用构建出的第一关系式和约束条件集合,控制足式机器人运动的过程进行示例介绍,请参照图5,该方法包括:
[0284]
s501,获取规划周期的起始时刻的状态数据。
[0285]
在控制足式机器人110运动时,控制设备120是通过控制足式机器人110的足端的抬起和落下,进而实现足式机器人110的移动,使得足式机器人110能够完成从起始时刻至结束时刻的整个规划周期的运动。起始时刻为足式机器人110为当前时刻所在的位置。结束时刻为足式机器人110所要达到的位置,结束时刻可以是提前设定的,或者控制设备120根据足式机器人110所需执行的任务确定的。
[0286]
状态数据的含义以及获取方式可以参照前文论述的内容,此处不再赘述。起始时刻的状态数据可以包括起始时刻的质心位置。起始时刻的状态数据还可以包括起始时刻的质心速度和质心加速度,另外状态数据还可以包括足式机器人110在起始时刻的给定姿态。给定姿态、质心位置、质心速度或质心加速度均可以通过坐标系中的坐标表示或通过向量表示等。
[0287]
作为一种实施例,规划周期、起始时刻和结束时刻是根据选择的足式机器人110的采样周期相关的,规划周期、起始时刻和结束时刻三者可以根据实际需要进行灵活设定。例如,控制设备120可以将足式机器人110当前时刻对应的位置确定为起始时刻,控制设备120可以将第3s所对应的位置确定为结束时刻,在下一个采样周期时,可以选择第3s作为足式机器人110运动的起始时刻。
[0288]
s502,根据起始时刻的状态数据,确定在规划周期内各足端的候选落脚点。
[0289]
足式机器人110从起始时刻到结束时刻过程中,可能有一个或多个足端落脚,每个足端可能落脚一次或多次,具体与设定的起始时刻和结束时刻相关,控制设备120可以预先为每次需要落脚的足端确定多个候选落脚点。候选落脚点是指足式机器人110在规划周期内可能的落脚点。落脚点可以用世界坐标系中的坐标表示或向量表示等。
[0290]
在具体实现时,控制设备120可以通过视觉感知单元210采集足式机器人110的环境图像,并构建环境图像中各像素点与世界坐标系之间的转换关系。控制设备120通过环境图像,以及转换关系,确定沿起始时刻到结束时刻的移动方向上可能的候选落脚点。
[0291]
控制设备120具体可以根据环境图像,识别从起始时刻到结束时刻中的障碍物,根据转换关系,确定沿起始时刻到结束时刻所对应的移动方向上的非障碍物的位置,并将确定出的位置作为候选落脚点。
[0292]
或者,控制设备120通过视觉感知单元210采集环境的三维点云图,例如视觉感知单元210为rgbd摄像头时,可以采集得到三维点云图,或者例如通过采集足式机器人120当前所处的多个环境图像,对多个环境图像进行三维重建,获得三维点云图。根据环境的三维点云图,从三维点云图中确定足式机器人110可以落脚的候选平面,具体可以从三维点云图中确定能够支撑足式机器人的平面作为候选平面。控制设备120从候选平面中,确定足式机器人的足端所对应的候选落脚点。
[0293]
由于足式机器人110在规划周期过程可能不止一次落脚,控制设备120可以确定出
机器人在规划周期内的所有可能的候选落脚点,该所有可能的候选落脚点为每次落脚所对应候选落脚点。或者,在确定候选落脚点时,可以根据足式机器人110的运动速度,确定足式机器人110每次可能落脚的区域,并根据上述任一方式依次从每次可能落脚对应的区域中筛选出候选落脚点。
[0294]
例如,请继续参照图4a,足式机器人110的当前位置如图4a所示,控制设备120分别确定足端的候选落脚点430包括图4a中所示的地面上的多个圆圈。
[0295]
假设足式机器人110在规划周期内迈步四次,每个腿迈步一次,每个腿的候选落脚点具体表示如下表1:
[0296]
表1
[0297]
腿左前腿候右前腿左后腿右后腿候选落脚点标识1,2,34,57,8,910,11,12
[0298]
表1表示在规划周期内左前腿所对应的候选落脚点分别为1、2和3;右前腿所对应的候选落脚点为4和5;左后腿所对应的候选落脚点为7、8和9;右后腿所对应的候选落脚点为10、11和12。
[0299]
s503,根据起始时刻的状态数据和各足端的候选落脚点,确定质心位置变化系数、落脚点和足端接触力之间的第一关系式。
[0300]
其中,第一关系式例如前文论述的公式(20),变化关系的含义可以参照前文论述的内容,此处不再赘述。
[0301]
参照前文公式(20)所示的第一关系式,该第一关系式中除了质心位置变化系数、落脚点和足端接触力相关,还包括hu和wu等参数,因此可以通过状态数据等已知量确定这些参数的取值,进而获得只包含质心位置变化系数、落脚点和足端接触力三个未知量的第一关系式。
[0302]
下面对控制设备120获得只包含质心位置变化系数、落脚点和足端接触力三个未知量的第一关系式的方式进行具体示例介绍:
[0303]
第一种可能的方式:
[0304]
控制设备120根据起始时刻的状态数据计算出公式(20)对应起始时刻的hu等参数,从而获得起始时刻对应的第一关系式。
[0305]
具体的,公式(20)中涉及的wu计算公式中的可以取值为0,并根据起始时刻的质心位置,从而依据公式(12)计算出w的取值,由于这种情况下,每个时刻的w的取值是相同,因此每个时刻的wu均是相同的取值。
[0306]
或者,在另外一种情况下,控制设备120可以根据起始时刻的给定姿态和结束时刻的给定姿态,结合公式(7)至(10)计算出进而可以起始时刻所对应的wu的取值。控制设备120可以根据hu的计算公式,根据起始时刻的质心位置,计算出hu的取值。
[0307]
控制设备120将计算出的起始时刻的hu的取值,以及起始时刻的wu的取值代入公式(20)中,从而获得起始时刻对应的第一关系式。
[0308]
在该方式中,根据起始时刻所对应的第一关系式确定目标质心位变化系数、目标足端接触力、目标迈步次序和目标落脚点所涉及的关系式较少,计算量较小。
[0309]
在第二种可能的方式中:
[0310]
从规划周期中获取多个采样时刻,确定每个采样时刻所对应的时间间隔,即确定每个采样时刻与起始时刻之间的时间将额额,确定出每个采样时刻所对应的第一关系式。
[0311]
在实际对足式机器人110进行运动控制过程中,需要获得足式机器人110从起始时刻到结束时刻中任意时刻的质心位置,但这样的计算量较大,为此,本技术实施例中控制设备120可以通过获得采样周期中多个时刻中每个时刻的质心位置,基于这多个时刻的质心位置进而确定出足式机器人110的质心运动轨迹。下面对获得每个时刻所对应的第一关系式的方式进行示介绍:
[0312]
s1.1,获得多个采样时刻。
[0313]
控制设备120可以根据规划周期的总长度和足式机器人110的运动速度,预计足式机器人完成规划周期所需的规划周期,或者控制设备120预配置有足式机器人110完成规划周期所需的规划周期。该规划周期即为采样周期所对应的时长。控制设备120可以从采样周期中确定出多个采样时刻。
[0314]
在获得规划周期之后,控制设备120可以从规划周期中随机采样,获得多个采样时刻。随机采样以获得采样时刻的方式较为简单。
[0315]
或者,控制设备120根据足式机器人110的迈步时间,从每个运动阶段的持续时长中分别进行采样,以获得多个采样时刻。由于每个运动阶段都存在对应的采样时刻,这样可以保证各个运动阶段都能存在对应的采样时刻,利于提高后期确定出的质心运动轨迹的准确性。
[0316]
作为一种实施例,任意相邻两个采样时刻之间的时间间隔可以是相同的,也可以是不相同的,不相同是指任意相邻两个采样时刻之间的时间间隔是不完全相同的,或者存在相邻两个采样时刻之间的时间间隔不相同。
[0317]
作为一种实施例,采样时刻的个数越多,采样时刻的分布越合理,确定出的质心运动轨迹可靠性越高。但采样时刻越多,后续求解目标质心位置变化系数、目标落脚点和目标次序所构建的关系式的数量越多,求解目标质心位置变化系数、目标落脚点和目标次序所需时间越长,因此合理规划采样点的数量极为重要。在本技术实施例中,采样时刻至少包括每个运动阶段的阶段开始时刻和阶段终止时刻,以及每个运动阶段中的至少一中间时刻。中间时刻是指该运动阶段的阶段开始时刻和阶段终止时刻之间的任意时刻,例如可以选择该运动阶段的起始时刻和该运动阶段中的结束时刻的中间时刻。
[0318]
例如,将足式机器人110的四足行走步态设置为一个采样周期,控制设备120将该采样周期中足式机器人110的运动过程依次划分为八个运动阶段,八个运动阶段具体为:四足支撑移动质心、第一次迈步、第二次迈步、四腿支撑移动质心、四足支撑移动质心、第三次迈步、第四次迈步和四足支撑移动质心。
[0319]
请参照图6a所示的采样时刻分布示意图,八个运动阶段每个运动阶段的持续时长分别为图6a中所示的t1、t2、t3、t4、t5、t6、t7和t8,为便于描述,八个运动阶段分别称为第一运动阶段和第二运动阶段,以此类推。控制设备120从每个运动阶段进行采样,获得如图6a所示的第一运动阶段中的采样时刻为1和2,第二运动阶段中的采样时刻为2、3和4,第三运动阶段中的采样时刻为4、5和6,第四运动阶段中的采样时刻为6、7和8,依次类推,获得多个采样时刻。其中,图6a中属于同一种形状的采样时刻表示属于同一个运动阶段中的采样时刻,不同形状的采样时刻表示两个采样时刻属于两个不同的运动阶段。
[0320]
应当说明的是,由于一个采样周期内各个运动阶段是连续的,因此某个运动阶段的结束时刻既可以视为该运动阶段中的采样时刻,又可以视为下一个运动阶段的采样时刻,例如上述图6a中的采样时刻4可以同时视为第二运动阶段和第三运动阶段中的采样时刻。
[0321]
s1.2,针对每个采样时刻,根据每个采样时刻与起始时刻之间的时间间隔、以及第二关系式,获得对应采样时刻的质心位置变化系数、足端接触力和落脚点之间的第一关系式。
[0322]
第二关系式表示每个采样时刻足式机器人的足端接触力与对应采样时刻的质心位置、质心加速度、候选落脚点和足端接触力之间的变化关系,质心位置可以表示起始质心位置和质心位置变化量之和,第二关系式具体可以参照前文的公式(5)。
[0323]
控制设备120确定起始时刻与每个采样时刻之间的各个时间间隔,因此可以结合第二关系式,从而获得质心位置变化系数、落脚点和足端接触力之间的第一关系式。
[0324]
具体的,控制设备120可以计算每个采样时刻所对应的上述公式(20)中的hu、wu的取值,并代入初始落脚点r
is
和候选落脚点r
ij
,从而可以获得质心位置变化系数、足端接触力和落脚点三个未知量的第一关系式。计算hu的取值的内容可以参照前文论述的内容,此处不再赘述。
[0325]
其中,wu的取值可以是固定的,或者控制设备120确定足式机器人在每个采样时刻对应的姿态变化角度,并根据每个采样时刻的姿态变化角度,以及起始时刻对应的给定姿态,确定每个采样时刻的质心角动量对时间得一阶导数,也就是确定出的取值,进而计算出每个采样时刻对应的wu的取值。
[0326]
进一步地,由于控制设备120获得足式机器人110的迈步时间,自然也就能获得各个运动阶段所需要落脚的足端,可以获得公式(20)中对应的每个采样时刻对应的ni的取值。
[0327]
在确定每个采样时刻的wu的取值、hu的取值和ni的取值之后,将获得的每个采样时刻对应的值分别代入上述公式(20)中,从而获得质心位置变化系数、每个采样时刻的足端接触力和落脚点的第一关系式。如果有多个采样时刻,那么每个采样时刻都对应一个第一关系式。
[0328]
请继续参照图6a所示的例子,下面对各个运动阶段涉及的变量的取值进行分析:
[0329]
(1)在首个4s阶段,足式机器人110的四个足端与接触面的接触位置已确定,因此可以确定ni的取值,r
ik
的取值则对应起始落脚点。
[0330]
(2)当足式机器人110处在第一次迈步阶段中的采样点时,足式机器人110存在一次迈步,但不确定迈步的是那一条腿,第i只腿的r
ik
的取值可以具体表示为r
ij

[0331]
s504,在约束条件集合的约束下,确定满足第一关系式的目标质心位置变化系数、目标迈步次序和目标落脚点。
[0332]
其中,约束条件集合至少包括用于约束迈步次序的约束条件,用于约束迈步次序的约束条件具体包括第一约束条件、第二约束条件和第三约束条件,第一约束条件具体如前文公式(16),第二约束条件具体如前文公式(17),第三约束条件具体如前文公式(18),除此之外,约束条件集合还包括空间落脚约束条件、摩擦力约束条件和足端接触力约束条件中的一个或多个。
[0333]
例如,在足式机器人110在规划周期内只迈步一次时,那么足式机器人110对应的用于约束迈步次序的约束条件可以只包括第一约束条件或第三约束条件即可。
[0334]
由于根据每个采样时刻的第一关系式和约束条件集合并不能获得唯一解,因此,控制设备120可以确定出满足每个采样时刻的第一关系式和约束条件集合的多组候选结果。每一组候选结果包括质心位置变化系数、目标落脚点和迈步次序。如果迈步次序和目标落脚点是以β
ijk
表示,那么候选结果中获得的是β
ijk
的值,根据β
ijk
的值可以进一步获得迈步次序和每次迈步所对应的目标落脚点。
[0335]
应当说明的是,一组候选结果中的目标落脚点可以是包括一个或多个,具体与足式机器人在规划周期内的落脚次数是相关的。当然,每组候选结果还可以包括每个采样时刻对应的足端接触力f
iju

[0336]
继续参照上表1所示的例子,确定出的一组候选结果中β
ijk
的取值如下表2所示:
[0337]
表2
[0338]
腿左前腿右前腿左后腿右后腿候选落脚点标识1,2,34,57,8,910,11,12k=0时的β
ijk
取值0,0,00,00,0,00,0,0k=1时的β
ijk
取值0,0,00,10,0,00,0,0k=2时的β
ijk
取值0,0,00,10,1,00,0,0k=3时的β
ijk
取值1,0,00,10,1,00,0,0k=4时的β
ijk
取值1,0,00,10,1,00,0,1
[0339]
从上表2中,可以看出未迈步(k=0)时,足式机器人110各足端位于初始落脚点上,在第一次迈步(k=1)时,足式机器人110迈右前腿,对应的落脚点为5所表示的候选落脚点;在第二次迈步(k=2)时,足式机器人迈左后腿,对应的落脚点为8所表示的候选落脚点;在第三次迈步(k=3)时,足式机器人迈左前腿,对应的落脚点为1所表示的候选落脚点;在第四次迈步(k=4)时,足式机器人迈右后腿,对应的落脚点为12所表示的候选落脚点。
[0340]
为了更清楚地说明足式机器人110的运动过程,请参照图6b所示的足式机器人110的运动示意图,足式机器人110的右前腿当前处于落脚点b,下一次迈步时的候选落脚点包括4和5,右前腿下一次将会落脚在5。同理,足式机器人110的左后腿当前处于落脚点c,下下次迈步时对应的候选落脚点为7,8和9,右后腿下一次落脚点在8,以此类推。
[0341]
在一种可能的实施例中:控制设备120可以从多组候选结果随机选择一组候选结果作为目标结果,即将该组候选结果中的质心位置变化系数作为目标质心位置变化系数,将该候选结果中的落脚点作为目标落脚点,将候选结果中的迈步次序确定为目标迈步次序。
[0342]
在另一种可能的实施例中:控制设备120可以从多组候选结果中,确定出最优化代价函数所对应的候选结果,将最优化代价函数时所对应的候选结果作为目标结果。
[0343]
进一步地,当约束条件集合包括空间落脚约束条件时,下面先对控制设备120确定候选结果的过程进行示例介绍:
[0344]
步骤1:针对每个采样时刻,根据足式机器人110在每个采样时刻的给定姿态、以及空间落脚约束条件,获得质心位置变化系数、迈步次序与对应采样时刻的落脚点之间的目标约束关系。
[0345]
空间落脚约束条件的表达式可以参照前文论述的公式(26),在公式(26)中除了质心位置变化系数c、候选落脚点和迈步次序之外,还包括一些需要控制设备120求解的变化量,具体包括公式(30)中的a
iu
、b
iu
、b
iu
和ni,下面对控制设备120确定这些变化量的方式进行示例说明:
[0346]
当足式机器人110的关节长度以及关节的转动范围已知的情况下,控制设备120可以计算出足式机器人对应的si和di的取值。或者,当该足式机器人110的关节长度与关节转动范围与常规的足式机器人的关节长度和转动范围等均分别相同的情况下,控制设备120可以直接获得预存的si和di的取值。
[0347]
应当说明的是,足式机器人110的任意两个腿的长度是相同的,任意两个腿中每个腿的转动范围也是相同的,因此足式机器人110的每一个腿所对应的si和di的取值都是相同的。如果足式机器人110一个腿的长度与另一个腿的长度不同,或者足式机器人110的一个腿的转动范围与另一个腿的转动范围不相同,那么控制设备120可以分别确定足式机器人110的每个腿所对应的si和di的取值。
[0348]
进一步地,控制设备可以根据起始时刻的给定姿态,以及结束时刻的给定姿态,进而结合前文公式(7)至公式(10)计算出足式机器人110在每个采样时刻所对应的给定姿态,也就获得了足式机器人110的r
t
的取值,进而结合公式(22)以及公式(23),可以计算出每个采样时刻对应的a
iu
、b
iu
、b
iu
和ni的取值,将每个采样时刻已知的a
iu
、b
iu
、b
iu
和ni代入公式(26)中,从而获得每个采样时刻的质心位置变化系数、迈步次序与落脚点之间的目标约束关系。
[0349]
在一种可能的情况下,如果足式机器人110的姿态变化较小时,r
t
的取值也可以是取固定值。
[0350]
作为一种实施例,当约束条件集合还包括摩擦力约束条件时,摩擦力约束条件的含义可以参照前文论述的内容,此处不再赘述。控制设备120可以根据每个采样时刻对应的候选落脚点,以及摩擦力约束条件,获得每个采样时刻的落脚点与足端接触力之间的约束关系。摩擦力约束条件具体如前文中的公式(28)。
[0351]
具体的,控制设备120可以确定每个采样时刻对应的候选落脚点,利用该采样时刻对应的候选落脚点表示出n
ij
和n
is
,进而可以获得每个采样时刻所对应的足端接触力f
iju
的第四约束关系,以及每个采样时刻所对应的初始落脚点的足端接触力f
isu
的第五约束关系。
[0352]
作为一种实施例,当约束条件集合还包括接触力约束条件时,接触力约束条件的含义可以参照前文论述的内容,此处不再赘述,控制设备120可以根据将候选落脚点表示出n
ij
,并将已知的接触力上限带入上述接触力约束条件,即公式(30)中,从而获得每个采样时刻β
ijk
和足端接触力f
iju
之间的第六约束关系,以及每个采样时刻和足端接触力f
isu
之间的第七约束关系。
[0353]
步骤2:确定满足每个采样时刻的第一关系式,每个采样时刻的目标约束关系的多组候选结果。
[0354]
控制设备120可以根据每个采样时刻的第一关系式,每个采样时刻的目标约束关系,确定满足这些关系的各组候选结果。候选结果的含义可以参照前文论述的内容,此处不再赘述。
[0355]
当约束条件集合还包括摩擦力约束条件和/或接触力约束条件时,则确定满足每
个采样时刻的第一关系式、每个采样时刻的目标约束关系、每个采样时刻的第四约束关系、第五约束关系、第六约束关系和第七约束关系的多组候选结果。
[0356]
例如,每组候选结果具体应当满足如下各个关系式:
[0357][0358]
k表示选择的任意一个采样时刻,上述公式中其它字母的含义可以参照前文论述的内容,此处不再赘述。t(0)表示起始时刻对应的质心变化量,v0表示起始时刻对应的质心速度,a0表示起始时刻对应的质心加速度。
[0359]
由于上述涉及的关系式依旧少于需要求解的未知量的数量,因此满足上述关系式存在多组候选结果,在获得多组候选结果后,控制设备120可以任意选择一组作为目标结果。或者最小化代价函数,以获得目标结果。
[0360]
具体的,控制设备120在获得多组候选结果之后,可以确定每组候选结果所对应的代价函数的取值,将取值最小的代价函数所对应的候选结果确定为目标结果。下面以代价函数为前文论述的公式(31)为例,对控制设备120获得一组候选结果所对应的代价函数的取值进行介绍:
[0361]
(1)控制设备120根据一组候选结果中每个采样时刻对应的足端接触力,确定各个足端接触力的加权平方和,从而获得公式(31)所示的代价函数中的j
grf
的取值。其中,任意两个足端接触力所对应的加权权重可以是相同的,或者可以是不同的。
[0362]
(2)控制设备120确定多个采样时刻中每相邻两个采样时刻的质心位置变化量之间的差值的加权平方,从而获得公式(31)所示的代价函数中j
len
的取值。任意两个质心位置变化量的加权权重可以是相同的,或者可以是不同的。
[0363]
(3)控制设备120在规划周期对应的结束时刻的规划质心位置与期望质心位置之间差值、在规划周期对应的结束时刻的规划质心速度与期望质心速度之间差值和在规划周期对应的结束时刻的规划质心加速度与期望质心加速度之间差值的加权平方和,从而获得
公式(31)所示的代价函数中的j
tgt
的取值。
[0364]
在获得公式(31)所示的代价函数中j
grf
的取值、j
len
的取值和j
tgt
的取值之后,控制设备120确定j
grf
的取值、j
len
的取值和j
tgt
的取值之和,从而该候选结果所对应的代价函数的取值。
[0365]
以此类推,可以获得控制设备120每组候选结果所对应的代价函数的取值,从而将取值最小的代价函数所对应的候选结果确定为目标结果。
[0366]
s505,根据目标质心位置变化系数、目标迈步次序和目标落脚点,控制足式机器人运动。
[0367]
控制设备120可以通过控制足式机器人110对应关节,来实现足式机器人的各个足的抬起或落下,从而带动足式机器人110沿着移动路径移动。控制设备120具体通过控制足式机器人110对应关节的关节力矩等目标运动控制参数,使足式机器人的至少一个足支撑足式机器人移动,使足式机器人的真实质心位置尽量地保持在上述确定出的质心位置。因此,控制设备120在获得目标质心位置变化系数、目标迈步次序和目标落脚点,可以先确定目标运动控制参数,进而根据目标运动控制参数,控制足式机器人110的运动。
[0368]
下面先对控制设备120确定目标运动控制参数的过程进行说明:
[0369]
控制设备120在获得目标结果后,也就是获得了目标质心位置变化系数、目标迈步次序和目标落脚点,因此控制设备120可以根据起始质心位置、质心位置变化系数和目标迈步次序,获得任意时刻对应的规划质心位置,其中涉及的具体计算公式可以参照前文中的公式(4)和公式(13)。例如,在控制设备120获得质心位置变化系数c之后,可以计算出各个时刻的质心位置;在控制设备120获得β
ijk
的取值之后,能够获得每次迈步的腿,即获得迈步次序,以及每次迈步所选中的候选落脚点,即目标落脚点。
[0370]
例如,请参照图7,表示足式机器人110的实际运动过程示例图,足式机器人的质心运动轨迹可以如图7中701所示,从图7可以看出,足式机器人110的质心位置随着时间不断发生变化,且波动较小。
[0371]
控制设备120根据起始时刻的起始落脚点、目标迈步次序和目标落脚点,确定足式机器人在规划周期内每个时刻的期望足端位置。
[0372]
具体的,控制设备120根据获得每个采样时刻的目标落脚点,以及根据目标迈步次序,确定足式机器人110所对应的各个运动阶段所需要落脚的足,对起始落脚点和目标落脚点进行插值,从而获得足式机器人110在每个时刻所对应的期望足端位置。
[0373]
控制设备120根据起始时刻的给定姿态,足式机器人110在结束时刻的期望姿态,计算每个时刻所对应的期望姿态变化角度,从而根据每个时刻所对应的期望姿态变化角度,计算出足式机器人110在每个时刻所对应的期望姿态。具体计算公式可以参照前文公式(7)至公式(10),其中结束时刻的期望姿态可以根据足式机器人110结束时刻的落脚点确定。
[0374]
进一步地,控制设备120对足式机器人在对应时刻的规划质心位置、对应时刻的期望姿态、对应时刻的期望足端位置进行逆运动学运算,确定足式机器人在对应时刻的期望关节角度。对期望关节角度进行微分,得到每个时刻对应的期望角速度。
[0375]
控制设备120根据每个时刻的期望关节角度、以及期望角速度,足式机器人,确定足式机器人在每个时刻的关节力矩。
[0376]
具体的,控制设备120会根据每个时刻的期望关节角度、期望角速度、对应时刻的实际关节角度、实际角速度,通过机器人动力学控制方法,进而确定足式机器人在对应时刻的关节力矩,以获得目标运动控制参数。
[0377]
在实际控制过程中,控制设备120根据期望姿态、期望质心位置与实际姿态、实际质心位置确定出期望的足端接触力,将优化的足端接触力乘以对应雅各比矩阵的转置将足端接触力转化到关节,从而获得前馈力矩。再根据关节的期望关节角度、实际关节角度,利用pd控制计算反馈力矩。最后对前馈力矩和反馈力矩之和进行限幅,获得控制足式机器人110最终的力矩控制信号。
[0378]
作为一种实施例,s501~s505的步骤可以是轨迹生成单元220执行的,或者视觉感知单元210执行s501的步骤,轨迹生成单元220执行s502-s504的步骤,轨迹控制单元230执行s505的步骤。
[0379]
本技术实施例中,在控制足式机器人110的运动过程中,是根据足式机器人110的实际运动过程,确定质心位置变化系数、迈步次序和落脚点,即在足式机器人运动之前,使得规划出的足式机器人110的运动控制参数能够更符合足式机器人的实际运动过程。且,由于无需设定足式机器人110的质心位置变化系数、迈步次序和落脚点等,因此提升足式机器人110的运动的智能程度。
[0380]
基于同一发明构思,本技术实施例提供一种足式机器人运动控制装置,该装置相当于设置在前文论述的控制设备120中,请参照图8,该足式机器人运动控制装置800包括:
[0381]
第一确定模块801,用于根据规划周期内起始时刻的状态数据,确定在规划周期内各足端的候选落脚点;
[0382]
第二确定模块802,用于根据起始时刻的状态数据,以及各足端的候选落脚点,确定质心位置变化系数、落脚点与足端接触力之间的第一关系式;
[0383]
第三确定模块803,用于在约束条件集合的约束下,确定满足第一关系式的目标质心位置变化系数、目标迈步次序和目标落脚点;其中,约束条件集合包括用于约束迈步次序的约束条件;
[0384]
控制模块804,用于根据目标质心位置变化系数、目标迈步次序和目标落脚点,控制足式机器人按照规划周期进行运动。
[0385]
在一种可能的实施例中,迈步次序与选中的对应足端的候选落脚点相关,用于约束迈步次序的约束条件包括如下的至少一种:
[0386]
约束足式机器人每条腿在每次迈步时最多选中一个候选落脚点第一约束条件;
[0387]
约束足式机器人每条腿迈步之后不会撤回的第二约束条件;
[0388]
约束足式机器人在规划周期内的迈步次数达到预设迈步次数的第三约束条件;其中,选中一候选落脚点则对应迈步一次。
[0389]
在一种可能的实施例中,第二确定模块802具体用于:
[0390]
从规划周期中确定出多个采样时刻,并确定每个采样时刻与起始时刻之间的时间间隔;其中,移动时长是足式机器人完成规划周期所需的时间;
[0391]
针对每个采样时刻,根据起始质心位置、对应采样时刻的时间间隔、以及第二关系式,获得质心位置变化系数、落脚点与足端接触力之间的第一关系式;其中,第二关系式表示每个采样时刻足式机器人的足端接触力与对应采样时刻的质心位置和落脚点之间的变
化关系,其中对应采样时刻的质心位置设置为起始时刻的质心位置与在时间间隔内的质心位置变化量之和,其中质心位置变化量设置为质心位置变化系数和时间间隔表示。
[0392]
在一种可能的实施例中,起始时刻的状态数据还包括起始时刻的给定姿态,第二确定模块802具体用于:
[0393]
根据起始时刻的给定姿态,以及规划周期内结束时刻的给定姿态,确定足式机器人每个采样时刻的给定姿态,以及每个采样时刻的姿态变化角参数;
[0394]
针对每个采样时刻,根据对应采样时刻的给定姿态,以及对应采样时刻的姿态变化角参数,确定每个采样时刻的质心角动量对时间的一阶导数;
[0395]
针对每个采样时刻,根据对应采样时刻的质心角动量对时间的一阶导数、以及第二关系式,获得每个采样时刻对应的质心位置变化系数、落脚点与足端接触力之间的第一关系式。
[0396]
在一种可能的实施例中,约束条件集合还包括空间落脚约束条件;其中,空间落脚约束条件用于限制足式机器人在每次迈步时足端的落脚点在对应足端的工作空间内,其中每次迈步时足端的落脚点设置为迈步次序、对应足端的候选落脚点和对应足端的初始落脚点之间的关系式;第三确定模块803具体用于:
[0397]
针对每个采样时刻,根据空间落脚约束条件,以及每个采样时刻的给定姿态,确定质心位置变化系数、迈步次序与落脚点之间的目标约束条件;
[0398]
确定满足每个采样时刻的目标约束条件,以及每个采样时刻的第一关系式的目标质心位置变化系数、目标迈步次序和目标落脚点。
[0399]
在一种可能的实施例中,约束条件集合还包括如下至少一种:
[0400]
摩擦力约束条件;其中,摩擦力约束条件用于约束每个采样时刻的足端接触力位于摩擦锥内,摩擦锥是根据落脚点的法向量以及落脚的足端与接触面之间的摩擦系数确定的;
[0401]
足端接触力约束条件;其中,足端接触力约束条件用于约束每个采样时刻的足端接触力在法线方向上的分量小于或等于作用力上限。
[0402]
在一种可能的实施例中,第三确定模块803具体用于:
[0403]
获得满足第一关系式和约束条件集合的多组候选结果;其中,每组候选结果包括质心位置变化系数、迈步次序和落脚点;
[0404]
根据多组候选结果,最小化代价函数,从多组候选结果中确定出目标结果;其中,代价函数是根据候选结果所包括的相关量构建的二次项。
[0405]
在一种可能的实施例中,第三确定模块803具体用于:
[0406]
根据多组候选结果中每组候选结果,确定在规划周期内足端接触力的平方和、在规划周期内质心位置变化量的平方和、以及在规划周期对应的结束时刻的规划质心状态数据与期望质心状态数据之间差值的平方和三者之和,以获得每组候选结果对应的代价函数的取值;其中,期望质心状态数据是根据候选结果中的落脚点确定的,规划质心状态数据是根据候选结果中的迈步次序和质心位置变化系数确定的;
[0407]
将代价函数的取值最小的一组候选结果确定为目标结果。
[0408]
在一种可能的实施例中,控制模块804具体用于:
[0409]
根据目标质心位置变化系数,确定足式机器人在每个时刻的规划质心位置;
[0410]
根据起始时刻的初始落脚点、目标迈步次序和目标落脚点,确定足式机器人在规划周期内每个时刻的期望足端位置;
[0411]
根据起始时刻的给定姿态,以及足式机器人在终止位置的期望姿态,确定足式机器人在每个时刻的期望姿态;
[0412]
针对每个时刻,对足式机器人在对应时刻的规划质心位置、对应时刻的期望姿态、对应时刻的期望足端位置进行逆运动学运算,确定足式机器人在对应时刻的期望关节转动角度;
[0413]
针对每个时刻,根据对应时刻的期望关节转动角度,以及对应时刻的实际关节转动角度,确定足式机器人每个时刻的关节力矩;
[0414]
根据足式机器人每个时刻的关节力矩,控制足式机器人在规划周期内运动。
[0415]
应当说明的是,图8所示的装置可以实现上述任一的足式机器人运动控制方法,此处不再赘述。
[0416]
请参照图9,计算机设备900以通用计算机设备的形式表现。计算机设备900的组件可以包括但不限于:至少一个处理器910、至少一个存储器920、连接不同系统组件(包括处理器910和存储器920)的总线930。
[0417]
总线930表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
[0418]
存储器920可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)921和/或高速缓存存储器922,还可以进一步包括只读存储器(rom)923。存储器920还可以包括具有一组(至少一个)程序模块925的程序/实用工具926,这样的程序模块925包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。处理器910用于执行存储器920存储的程序指令等实现前文论述的足式机器人运动控制方法。
[0419]
计算机设备900可以与一个或多个外部设备940(例如键盘、指向设备等)通信,还可与一个或者多个使得终端能与计算机设备900交互的设备通信,和/或与使得该计算机设备900能与一个或多个其它设备进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(i/o)接口950进行。并且,计算机设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与用于计算机设备900的其它模块通信。应当理解,尽管图中未示出,可以结合计算机设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0420]
基于同一发明构思,本技术实施例提供一种存储介质,所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行前文论述的足式机器人运动控制方法。
[0421]
基于同一发明构思,本技术实施例提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的任一足式机器人运动控制方法。
[0422]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0423]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献