机器人运动规划方法、系统、计算机设备和存储介质与流程

专利2022-12-01  28


本申请涉及机器人运动规划技术领域,具体而言,本申请涉及一种机器人运动规划方法、系统、计算机设备和存储介质。



背景技术:

四足机器人因其具有多关节多自由度的腿部支撑及运动机构,使其在适应复杂非结构地形方面具有天然优势。

运动规划是限制四足机器人运动性能的关键,其核心内容为根据运动目标和机器人所处的地形环境,实时规划四足机器人四条腿的状态相及车身姿态,使其在保持平衡的基础上,稳定连续得通过所处地形。

但是,对于未知的复杂位置地形,仅仅依靠基于时间步态规划将无法保障四足机器人的稳定行走。



技术实现要素:

基于此,有必要针对上述的技术缺陷,特别是未知的复杂位置地形下时间步态规划无法保障四足机器人的稳定行走的技术缺陷,提供一种机器人运动规划方法、系统、计算机设备和存储介质。

一种机器人运动规划方法,包括如下步骤:

获取时间基步态规划,以及检测机器人执行所述时间基步态规划时机器人的步态信息和相位信息;

将所述时间基步态规划输入卡尔曼滤波检测器,预测所述机器人执行所述时间基步态规划后的估计接触状态;

将所述步态信息和相位信息输入所述卡尔曼滤波检测器进行检测,得到所述机器人的实际接触状态;

根据所述估计接触状态和实际接触状态触发所述机器人运动的事件基步态规划。

在一个实施例中,步态信息包括腿部与周围环境的接触点以及足端位置信息,相位信息包括机器人的车身姿态;

所述检测机器人执行所述时间基步态规划时机器人的步态信息和相位信息的步骤,包括:

通过所述机器人的惯性测量传感器检测所述机器人的车身姿态;采集所述机器人腿部的关节电机的电流变化参数,根据所述电流变化参数获取所述机器人腿部与周围环境的接触信息,根据所述接触信息确定腿部与周围环境的接触点;通过所述关节电机的编码器检测所述机器人的足端位置信息。

在一个实施例中,所述卡尔曼滤波检测器包括接触概率预测模型;

所述将所述时间基步态规划输入卡尔曼滤波检测器,预测所述机器人执行所述时间基步态规划后的估计接触状态的步骤,包括:

将所述时间基步态规划输入所述接触概率预测模型,预测所述机器人执行所述时间基步态规划后的估计接触状态;

在所述检测得到所述机器人的实际接触状态的步骤之后,还包括:

根据所述实际接触状态更新所述接触概率预测模型。

在一个实施例中,所述将所述步态信息和相位信息输入所述卡尔曼滤波检测器进行检测,得到所述机器人的实际接触状态的步骤,包括:

根据所述步态信息中的腿部与周围环境的接触点以及足端位置信息,以及所述相位信息中的机器人的车身姿态,建立广义动量外力预测模型和地形高度概率模型,其中,所述广义动量外力预测模型用于描述预测的外力值的概率,所述地形高度概率模型用于描述预测的地形高度的概率;将所述广义动量外力预测模型输入基于接触力的接触概率测量模型,获得所述机器人的接触力;将所述地形高度概率模型输入基于高度的接触概率测量模型,获得地形高度信息;根据所述机器人的接触力和所述地形高度信息,获得所述机器人的实际接触状态。

在一个实施例中,所述根据所述估计接触状态和实际接触状态触发事件基步态规划的步骤,包括:

在所述实际接触状态与所述预测接触状态一致,则进行单腿的抬放切换;所述预测接触状态提前于所述时间基步态规划预测的所述预测接触状态时,结束机器人的摆动相并进入机器人的支撑相;所述预测接触状态滞后于所述时间基步态规划预测的所述预测接触状态时,继续进行机器人的摆动相直到接触状态的出现。

在一个实施例中,在所述根据所述估计接触状态和实际接触状态触发事件基步态规划的步骤之后,还包括:

根据机器人zmp稳定判据调整机器人自身姿态和平衡。

在一个实施例中,在所述根据所述机器人的接触力和所述地形高度信息,获得所述机器人的实际接触状态的步骤之后,还包括:

根据所述机器人的接触力和所述地形高度信息修正所述机器人的基于时间运动规划;从修正后的基于时间运动规划,调取下一个时间基步态规划,并执行所述获取时间基步态规划,以及检测机器人执行所述时间基步态规划时机器人的步态信息和相位信息的步骤。

一种机器人运动规划系统,包括:

获取模块,用于获取时间基步态规划,以及检测机器人执行所述时间基步态规划时机器人的步态信息和相位信息;

预测模块,用于将所述时间基步态规划输入卡尔曼滤波检测器,预测所述机器人执行所述时间基步态规划后的估计接触状态;

测量模块,用于将所述步态信息和相位信息输入所述卡尔曼滤波检测器进行检测,得到所述机器人的实际接触状态;

触发模块,用于根据所述估计接触状态和实际接触状态触发所述机器人运动的事件基步态规划。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例所述机器人运动规划方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述机器人运动规划方法的步骤。

上述的机器人运动规划方法、系统、计算机设备和存储介质,通过检测机器人自身执行时间基步态规划后的步态信息和相位信息,基于卡尔曼滤波预测和计算接触状态,基于估计接触状态和实际接触状态之间的接触事件触发事件基步态规划,以保障机器人稳定行走;实现根据机器人本体对未知复杂环境的感知,在感知后根据实际感知和预测量触发事件基步态规划,及时调整或修正步态,使得机器人可以依靠本体感知进行自适应调整而实现在复杂未知地形的自主行走,保障四足机器人在未知地形的稳定行走。

本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过实践了解到。

附图说明

上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为一个实施例中提供的机器人运动规划方法的实施环境图;

图2为一个实施例中机器人运动规划方法的流程图;

图3为卡尔曼滤波检测器预测和检测的逻辑示意图;

图4为一个实施例中卡尔曼滤波检测器检测和修正的流程图;

图5为一个实施例中触发事件基步态规划的示意图;

图6为一个实施例中机器人运动规划系统的结构示意图;

图7为一个实施例中计算机设备的内部结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

如图1所示,图1为一个实施例中提供的机器人运动规划方法的实施环境图,在该实施环境中,包括机器人100,机器人由身体部110和多条腿部120组成,腿部关节121处安装有关节电机。机器人中内含有处理器,处理器分别与各条腿部的关节电机连接,处理器获得关节电机的电流和编码器数据,处理器还与惯性测量传感器连接,处理器还与存储器连接,存储器内存储有卡尔曼滤波检测器,卡尔曼滤波检测器中包括用于预测接触状态的接触概率预测模型、测量地形高度的基于高度的接触概率测量模型和测量外力值的基于接触力的接触概率测量模型。

在一个实施例中,如图2所示,图2为一个实施例中机器人运动规划方法的流程图,本实施例中提出了一种机器人运动规划方法,以机器人运动规划方法应用于上述的处理器中为例,具体可以包括以下步骤:

步骤s210:获取时间基步态规划,以及检测机器人执行时间基步态规划时机器人的步态信息和相位信息。

时间基步态规划时基于时间的步态规划,基于时间的步态规划则基于时间顺序规划机器人的步态。

步态是指机器人的每条腿按一定的顺序和轨迹的运动过程。例如,平动步态是指机器人步行时始终保持机体平移。定点转弯步态是指机器人机体绕某轴转动的步态。步态设计包括确定支撑相、摆动相运动的开始和结束。为了在步态生成过程中保持机体的稳定性,要求机器人行走过程中,必须保证至少有三条足处于支撑相状态。同时,为了确保样机在行走过程中具有较好的稳定性,规定相邻步行足不可以同时处于摆动相状态,即机器人的相邻足不可能同时开始摆动。

通过机器人上的传感器和电子元件采集机器人执行步态规划时的实际参数,由实际参数中检测出机器人的步态信息和相位信息。步态信息具体可以包括腿部与周围环境的接触点以及足端三维空间位置信息;相位信息可以包括机器人的车身姿态。

具体地,在一个实施例中,步态信息包括腿部与周围环境的接触点以及足端位置信息,相位信息包括机器人的车身姿态。步骤s210中检测机器人执行时间基步态规划时机器人的步态信息和相位信息的步骤,包括:

s211:通过机器人的惯性测量传感器检测机器人的车身姿态。

惯性测量传感器(inertialmeasurementunit,imu)是测量物体三轴姿态角(或角速率)以及加速度的装置;一般的,一个imu包含了三个单轴的加速度计和三个单轴的陀螺,加速度计检测物体在载体坐标系统独立三轴的加速度信号,而陀螺检测载体相对于导航坐标系的角速度信号,测量物体在三维空间中的角速度和加速度,并以此解算出物体的姿态。

设置在机器人上的惯性测量传感器通过检测机器人的加速度信号和角速度信号,从而检测出机器人的车身姿态。

s212:采集机器人腿部的关节电机的电流变化参数,根据电流变化参数获取机器人腿部与周围环境的接触信息,根据接触信息确定腿部与周围环境的接触点。

采集关节电机的电流变化参数,根据电流变化参数检测腿部与周围环境的接触信息并确定接触点。通过各条腿的关节电机中电流变化,分别检测各条腿的接触信息和接触点。

例如,当机器人腿部碰触物体或地面时,关节电机控制腿部制动,关节电机的电流产生相应特点的变化,根据关节电机的电流变化参数可以确定机器人腿部产生接触,确定接触点,同时,当机器人腿部固定在顶面进行支撑时,机器人腿部亦在接触地面。

s213:通过关节电机的编码器检测机器人的足端位置信息。

根据关节电机的控制,采集关节电机的编码器中的参数,特别是从执行时间基步态规划至达到接触点的过程内,可以检测出关节的抬升和摆动,进而确定达到接触状态时腿部足端的位置和高度,进而确定腿部足端的足端位置信息。

上述检测机器人步态信息和相位信息的方式,利用了机器人本体上的元件进行原始参数的采集和检测,使得机器人具备本体感知,不需要依赖外部环境所设置的传感器进行环境探测,提高机器人的自适应性。

步骤s220:将时间基步态规划输入卡尔曼滤波检测器,预测机器人执行时间基步态规划后的估计接触状态。

卡尔曼滤波检测器可以根据时间基步态规划预测出接触状态。在将时间基步态规划输入卡尔曼滤波检测器,得到机器人执行该时间基步态规划后的估计接触状态。在一种实施方式下,如图3中预测接触状态一侧所示,图3为卡尔曼滤波检测器预测和检测的逻辑示意图,卡尔曼滤波检测器中接触概率预测模型对时间基步态规划的接触状态进行预测。

步骤s230:将步态信息和相位信息输入卡尔曼滤波检测器进行检测,得到机器人的实际接触状态。

卡尔曼滤波检测器是基于卡尔曼滤波器构建的,通过卡尔曼滤波器可以降低步态信息和相位信息中所存在的检测误差对实际接触状态的影响。

根据机器人检测的步态信息和相位信息,以及通过卡尔曼滤波检测器计算机器人的实际接触状态,确定了机器人所处局部地形环境。

进一步地,在一个实施例中,如图3中检测接触状态一侧所示,以及如图4所示,图4为一个实施例中卡尔曼滤波检测器检测和修正的流程图,步骤s230中将步态信息和相位信息输入卡尔曼滤波检测器进行检测,得到机器人的实际接触状态的步骤,包括:

步骤s231:根据步态信息中的腿部与周围环境的接触点以及足端位置信息,以及相位信息中的机器人的车身姿态,建立广义动量外力预测模型和地形高度概率模型,其中,广义动量外力预测模型用于描述预测的外力值的概率,地形高度概率模型用于描述预测的地形高度的概率。

根据腿部与周围环境的接触点、足端位置信息以及机器人的车身姿态,可以预测实际外力值的概率并建立广义动量外力预测模型,可以预测各种地形高度的概率并建立地形高度概率模型。

步骤s232:将广义动量外力预测模型输入基于接触力的接触概率测量模型,获得机器人的接触力。

由卡尔曼滤波检测器中基于接触力的接触概率测量模型计算机器人的接触力。

步骤s233:将地形高度概率模型输入基于高度的接触概率测量模型,获得地形高度信息。

由卡尔曼滤波检测器中基于高度的接触概率测量模型计算地形高度信息。

步骤s234:根据机器人的接触力和地形高度信息,获得机器人的实际接触状态。

通过机器人的接触力和地形高度信息描述机器人的实际接触状态,例如根据机器人的接触力和地形高度信息形成机器人的实际接触状态的信息。

上述检测实际接触状态的方式,依靠机器人本体检测的机器人的车身姿态、腿部接触点以及足端位置信息,基于概率统计及卡尔曼滤波实现机器人腿部及所处环境下的接触检测,自适应地识别局部地形环境特征,使得机器人运动规划中不需要对定性获取任何先验知识,能够有效适应未知复杂的地形,提升机器人自适应行走的能力。

上述的基于接触力的接触概率测量模型和基于高度的接触概率测量模型,分别都是基于卡尔曼滤波器构建的,通过卡尔曼滤波器可以降低编码器分辨率所产生的测量误差以及关节电机电流所依赖的广义动量外力预测模型的精确性,由卡尔曼滤波器实现对多种间接测量下接触状态的修正。

步骤s240:根据估计接触状态和实际接触状态触发所述机器人运动的事件基步态规划。

事件基步态规划时基于接触事件的步态规划,事件基步态规划为依据当前接触事件,维持或者改变当前步态。本步骤中,根据估计接触状态和实际接触状态触发所述机器人运动的事件基步态规划,事件基步态规划用于维持机器人稳定行走。例如,在实际接触状态表示机器人行走不稳时,及时修正当前步态,并调整机器人自身姿态以保持平衡。

上述机器人运动规划方法,通过检测机器人自身执行时间基步态规划后的步态信息和相位信息,基于卡尔曼滤波预测和计算接触状态,基于估计接触状态和实际接触状态之间的接触事件触发事件基步态规划,以保障机器人稳定行走;实现根据机器人本体对未知复杂环境的感知,在感知后根据实际感知和预测量触发事件基步态规划,及时调整或修正步态,使得机器人可以依靠本体感知进行自适应调整而实现在复杂未知地形的自主行走,保障四足机器人在未知地形的稳定行走。

在一个实施例中,步骤s240中根据估计接触状态和实际接触状态触发事件基步态规划的步骤,包括:

s241:在实际接触状态与预测接触状态一致,则进行单腿的抬放切换。

s242:预测接触状态提前于时间基步态规划预测的预测接触状态时,结束机器人的摆动相并进入机器人的支撑相。

s243:预测接触状态滞后于时间基步态规划预测的预测接触状态时,继续进行机器人的摆动相直到接触状态的出现。

如图5所示,图5为一个实施例中触发事件基步态规划的示意图,机器人执行时间基步态规划,一个步态开始时机器人抬腿,通过卡尔曼滤波检测器预测估计接触状态和检测实际接触状态,判断接触事件属于提前接触、正常接触还是滞后接触,按照对应的事件基步态规划控制机器人的抬升腿落地。机器人的抬升腿落地后,进入下一个步态。

上述机器人运动规划方法,在实际接触状态与预测接触状态一致时继续维持时间基步态规划,在不一致时及时修正和调整步态,使得机器人保持稳定以及维持步态的连续,实现机器人的稳定行走。

在一个实施例中,在根据估计接触状态和实际接触状态触发事件基步态规划的步骤之后,还包括:

根据机器人zmp稳定判据调整机器人自身姿态和平衡。

zmp(零力矩点)稳定判据中,对于地面上的一点,重力和惯性力对这一点的力矩,其水平分量为零。即整个系统对于这个点的前向、侧向的倾覆力矩为零。本步骤中,对机器人基于zmp稳定判据调整机器人自身姿态以保持机器人平衡,例如包括调整腿部关节和机器人的车身姿态。

在一个实施例中,卡尔曼滤波检测器包括接触概率预测模型;

步骤s220中将时间基步态规划输入卡尔曼滤波检测器,预测机器人执行时间基步态规划后的估计接触状态的步骤,包括:

将时间基步态规划输入接触概率预测模型,预测机器人执行时间基步态规划后的估计接触状态。

在检测得到机器人的实际接触状态的步骤之后,还包括:

根据实际接触状态更新接触概率预测模型。

上述机器人运动规划方法,还根据实际接触状态更新接触概率预测模型,提高接触概率预测模型进行接触状态预测的准确性。

在一个实施例中,如图4所示,在s234中根据机器人的接触力和地形高度信息,获得机器人的实际接触状态的步骤之后,还包括:

步骤s251:根据机器人的接触力和地形高度信息修正机器人的基于时间运动规划。

依据所执行步态对应的实际接触状态及时修正时间运动规划,更新后续的基于时间的步态。

步骤s252:从修正后的基于时间运动规划,调取下一个时间基步态规划,并执行步骤s210:获取时间基步态规划,以及检测机器人执行时间基步态规划时机器人的步态信息和相位信息的步骤。

上述机器人运动规划方法,根据实际接触状态修正时间运动规划,获取符合当前具备环境的下一个步态规划,以供机器人执行,保持机器人持续行走。

在一个实施例中,如图6所示,图6为一个实施例中机器人运动规划系统的结构示意图,本实施例可以应用在如图1所示的处理器中,本实施例提供一种机器人运动规划系统,包括获取模块610、预测模块620、测量模块630和触发模块640,其中:

获取模块610,用于获取时间基步态规划,以及检测机器人执行时间基步态规划时机器人的步态信息和相位信息。

时间基步态规划时基于时间的步态规划,基于时间的步态规划则基于时间顺序规划机器人的步态。

步态是指机器人的每条腿按一定的顺序和轨迹的运动过程。例如,平动步态是指机器人步行时始终保持机体平移。定点转弯步态是指机器人机体绕某轴转动的步态。步态设计包括确定支撑相、摆动相运动的开始和结束。为了在步态生成过程中保持机体的稳定性,要求机器人行走过程中,必须保证至少有三条足处于支撑相状态。同时,为了确保样机在行走过程中具有较好的稳定性,规定相邻步行足不可以同时处于摆动相状态,即机器人的相邻足不可能同时开始摆动。

获取模块610通过机器人上的传感器和电子元件采集机器人执行步态规划时的实际参数,由实际参数中检测出机器人的步态信息和相位信息。步态信息具体可以包括腿部与周围环境的接触点以及足端三维空间位置信息;相位信息可以包括机器人的车身姿态。

具体地,获取模块610还用于通过机器人的惯性测量传感器检测机器人的车身姿态;采集机器人腿部的关节电机的电流变化参数,根据电流变化参数获取机器人腿部与周围环境的接触信息,根据接触信息确定腿部与周围环境的接触点;通过关节电机的编码器检测机器人的足端位置信息。

惯性测量传感器(inertialmeasurementunit,imu)是测量物体三轴姿态角(或角速率)以及加速度的装置;一般的,一个imu包含了三个单轴的加速度计和三个单轴的陀螺,加速度计检测物体在载体坐标系统独立三轴的加速度信号,而陀螺检测载体相对于导航坐标系的角速度信号,测量物体在三维空间中的角速度和加速度,并以此解算出物体的姿态。

设置在机器人上的惯性测量传感器通过检测机器人的加速度信号和角速度信号,从而检测出机器人的车身姿态。

采集关节电机的电流变化参数,根据电流变化参数检测腿部与周围环境的接触信息并确定接触点。通过各条腿的关节电机中电流变化,分别检测各条腿的接触信息和接触点。

例如,当机器人腿部碰触物体或地面时,关节电机控制腿部制动,关节电机的电流产生相应特点的变化,根据关节电机的电流变化参数可以确定机器人腿部产生接触,确定接触点,同时,当机器人腿部固定在顶面进行支撑时,机器人腿部亦在接触地面。

根据关节电机的控制,采集关节电机的编码器中的参数,特别是从执行时间基步态规划至达到接触点的过程内,可以检测出关节的抬升和摆动,进而确定达到接触状态时腿部足端的位置和高度,进而确定腿部足端的足端位置信息。

上述获取模块610,利用了机器人本体上的元件进行原始参数的采集和检测,使得机器人具备本体感知,不需要依赖外部环境所设置的传感器进行环境探测,提高机器人的自适应性。

预测模块620,用于将时间基步态规划输入卡尔曼滤波检测器,预测机器人执行时间基步态规划后的估计接触状态。

卡尔曼滤波检测器可以根据时间基步态规划预测出接触状态。在将时间基步态规划输入卡尔曼滤波检测器,得到机器人执行该时间基步态规划后的估计接触状态。在一种实施方式下,如图3中预测接触状态一侧所示,卡尔曼滤波检测器中接触概率预测模型对时间基步态规划的接触状态进行预测。

进一步地,预测模块620还可以用于将时间基步态规划输入接触概率预测模型,预测机器人执行时间基步态规划后的估计接触状态;在检测得到机器人的实际接触状态的步骤之后,还根据实际接触状态更新接触概率预测模型。根据实际接触状态更新接触概率预测模型,提高接触概率预测模型进行接触状态预测的准确性。

测量模块630,用于将步态信息和相位信息输入卡尔曼滤波检测器进行检测,得到机器人的实际接触状态。

卡尔曼滤波检测器是基于卡尔曼滤波器构建的,通过卡尔曼滤波器可以降低步态信息和相位信息中所存在的检测误差对实际接触状态的影响。

测量模块630根据机器人检测的步态信息和相位信息,以及通过卡尔曼滤波检测器计算机器人的实际接触状态,确定了机器人所处局部地形环境。

具体地,如图3中检测接触状态一侧所示,测量模块630还用于根据步态信息中的腿部与周围环境的接触点以及足端位置信息,以及相位信息中的机器人的车身姿态,建立广义动量外力预测模型和地形高度概率模型,其中,广义动量外力预测模型用于描述预测的外力值的概率,地形高度概率模型用于描述预测的地形高度的概率;将广义动量外力预测模型输入基于接触力的接触概率测量模型,获得机器人的接触力;将地形高度概率模型输入基于高度的接触概率测量模型,获得地形高度信息;根据机器人的接触力和地形高度信息,获得机器人的实际接触状态。

根据腿部与周围环境的接触点、足端位置信息以及机器人的车身姿态,可以预测实际外力值的概率并建立广义动量外力预测模型,可以预测各种地形高度的概率并建立地形高度概率模型。由卡尔曼滤波检测器中基于接触力的接触概率测量模型计算机器人的接触力。由卡尔曼滤波检测器中基于高度的接触概率测量模型计算地形高度信息。

通过机器人的接触力和地形高度信息描述机器人的实际接触状态,例如根据机器人的接触力和地形高度信息形成机器人的实际接触状态的信息。

上述测量模块630,依靠机器人本体检测的机器人的车身姿态、腿部接触点以及足端位置信息,基于概率统计及卡尔曼滤波实现机器人腿部及所处环境下的接触检测,自适应地识别局部地形环境特征,使得机器人运动规划中不需要对定性获取任何先验知识,能够有效适应未知复杂的地形,提升机器人自适应行走的能力。

上述的基于接触力的接触概率测量模型和基于高度的接触概率测量模型,分别都是基于卡尔曼滤波器构建的,通过卡尔曼滤波器可以降低编码器分辨率所产生的测量误差以及关节电机电流所依赖的广义动量外力预测模型的精确性,由卡尔曼滤波器实现对多种间接测量下接触状态的修正。

进一步地,测量模块630还用于根据机器人的接触力和地形高度信息修正机器人的基于时间运动规划;从修正后的基于时间运动规划,调取下一个时间基步态规划,并跳转至获取模块610,以执行获取时间基步态规划,以及检测机器人执行时间基步态规划时机器人的步态信息和相位信息。

测量模块630根据实际接触状态修正时间运动规划,获取符合当前具备环境的下一个步态规划,以供机器人执行,保持机器人持续行走。

触发模块640,用于根据估计接触状态和实际接触状态触发所述机器人运动的事件基步态规划。

事件基步态规划时基于接触事件的步态规划,事件基步态规划为依据当前接触事件,维持或者改变当前步态。触发模块640,根据估计接触状态和实际接触状态触发所述机器人运动的事件基步态规划,事件基步态规划用于维持机器人稳定行走。例如,在实际接触状态表示机器人行走不稳时,及时修正当前步态,并调整机器人自身姿态以保持平衡。

具体地,触发模块640还用于在实际接触状态与预测接触状态一致,则进行单腿的抬放切换;预测接触状态提前于时间基步态规划预测的预测接触状态时,结束机器人的摆动相并进入机器人的支撑相;预测接触状态滞后于时间基步态规划预测的预测接触状态时,继续进行机器人的摆动相直到接触状态的出现。

如图5所示,机器人执行时间基步态规划,一个步态开始时机器人抬腿,通过卡尔曼滤波检测器预测估计接触状态和检测实际接触状态,判断接触事件属于提前接触、正常接触还是滞后接触,按照对应的事件基步态规划控制机器人的抬升腿落地。机器人的抬升腿落地后,进入下一个步态。

上述触发模块640,在实际接触状态与预测接触状态一致时继续维持时间基步态规划,在不一致时及时修正和调整步态,使得机器人保持稳定以及维持步态的连续,实现机器人的稳定行走。

进一步地,触发模块640还用于根据机器人zmp稳定判据调整机器人自身姿态和平衡。zmp(零力矩点)稳定判据中,对于地面上的一点,重力和惯性力对这一点的力矩,其水平分量为零。即整个系统对于这个点的前向、侧向的倾覆力矩为零。本步骤中,对机器人基于zmp稳定判据调整机器人自身姿态以保持机器人平衡,例如包括调整腿部关节和机器人的车身姿态。

上述机器人运动规划系统,通过检测机器人自身执行时间基步态规划后的步态信息和相位信息,基于卡尔曼滤波预测和计算接触状态,基于估计接触状态和实际接触状态之间的接触事件触发事件基步态规划,以保障机器人稳定行走;实现根据机器人本体对未知复杂环境的感知,在感知后根据实际感知和预测量触发事件基步态规划,及时调整或修正步态,使得机器人可以依靠本体感知进行自适应调整而实现在复杂未知地形的自主行走,保障四足机器人在未知地形的稳定行走。

关于机器人运动规划系统的具体限定可以参见上文中对于机器人运动规划方法的限定,在此不再赘述。上述机器人运动规划系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

如图7所示,图7为一个实施例中计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机程序,该计算机程序被处理器执行时,可使得处理器实现一种机器人运动规划方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种机器人运动规划方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提出了一种计算机设备,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一实施例中机器人运动规划方法的步骤。

在一个实施例中,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取时间基步态规划,以及检测机器人执行所述时间基步态规划时机器人的步态信息和相位信息;将所述时间基步态规划输入卡尔曼滤波检测器,预测所述机器人执行所述时间基步态规划后的估计接触状态;将所述步态信息和相位信息输入所述卡尔曼滤波检测器进行检测,得到所述机器人的实际接触状态;根据所述估计接触状态和实际接触状态触发所述机器人运动的事件基步态规划。

在一个实施例中,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中机器人运动规划方法的步骤。

在一个实施例中,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取时间基步态规划,以及检测机器人执行所述时间基步态规划时机器人的步态信息和相位信息;将所述时间基步态规划输入卡尔曼滤波检测器,预测所述机器人执行所述时间基步态规划后的估计接触状态;将所述步态信息和相位信息输入所述卡尔曼滤波检测器进行检测,得到所述机器人的实际接触状态;根据所述估计接触状态和实际接触状态触发所述机器人运动的事件基步态规划。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。


技术特征:

1.一种机器人运动规划方法,其特征在于,包括如下步骤:

获取时间基步态规划,以及检测机器人执行所述时间基步态规划时机器人的步态信息和相位信息;

将所述时间基步态规划输入卡尔曼滤波检测器,预测所述机器人执行所述时间基步态规划后的估计接触状态;

将所述步态信息和相位信息输入所述卡尔曼滤波检测器进行检测,得到所述机器人的实际接触状态;

根据所述估计接触状态和实际接触状态触发所述机器人运动的事件基步态规划。

2.根据权利要求1所述的机器人运动规划方法,其特征在于,步态信息包括腿部与周围环境的接触点以及足端位置信息,相位信息包括机器人的车身姿态;

所述检测机器人执行所述时间基步态规划时机器人的步态信息和相位信息的步骤,包括:

通过所述机器人的惯性测量传感器检测所述机器人的车身姿态;

采集所述机器人腿部的关节电机的电流变化参数,根据所述电流变化参数获取所述机器人腿部与周围环境的接触信息,根据所述接触信息确定腿部与周围环境的接触点;

通过所述关节电机的编码器检测所述机器人的足端位置信息。

3.根据权利要求1所述的机器人运动规划方法,其特征在于,所述卡尔曼滤波检测器包括接触概率预测模型;

所述将所述时间基步态规划输入卡尔曼滤波检测器,预测所述机器人执行所述时间基步态规划后的估计接触状态的步骤,包括:

将所述时间基步态规划输入所述接触概率预测模型,预测所述机器人执行所述时间基步态规划后的估计接触状态;

在所述检测得到所述机器人的实际接触状态的步骤之后,还包括:

根据所述实际接触状态更新所述接触概率预测模型。

4.根据权利要求1所述的机器人运动规划方法,其特征在于,所述将所述步态信息和相位信息输入所述卡尔曼滤波检测器进行检测,得到所述机器人的实际接触状态的步骤,包括:

根据所述步态信息中的腿部与周围环境的接触点以及足端位置信息,以及所述相位信息中的机器人的车身姿态,建立广义动量外力预测模型和地形高度概率模型,其中,所述广义动量外力预测模型用于描述预测的外力值的概率,所述地形高度概率模型用于描述预测的地形高度的概率;

将所述广义动量外力预测模型输入基于接触力的接触概率测量模型,获得所述机器人的接触力;

将所述地形高度概率模型输入基于高度的接触概率测量模型,获得地形高度信息;

根据所述机器人的接触力和所述地形高度信息,获得所述机器人的实际接触状态。

5.根据权利要求1所述的机器人运动规划方法,其特征在于,所述根据所述估计接触状态和实际接触状态触发事件基步态规划的步骤,包括:

在所述实际接触状态与所述预测接触状态一致,则进行单腿的抬放切换;

所述预测接触状态提前于所述时间基步态规划预测的所述预测接触状态时,结束机器人的摆动相并进入机器人的支撑相;

所述预测接触状态滞后于所述时间基步态规划预测的所述预测接触状态时,继续进行机器人的摆动相直到接触状态的出现。

6.根据权利要求1所述的机器人运动规划方法,其特征在于,在所述根据所述估计接触状态和实际接触状态触发事件基步态规划的步骤之后,还包括:

根据机器人zmp稳定判据调整机器人自身姿态和平衡。

7.根据权利要求3所述的机器人运动规划方法,其特征在于,在所述根据所述机器人的接触力和所述地形高度信息,获得所述机器人的实际接触状态的步骤之后,还包括:

根据所述机器人的接触力和所述地形高度信息修正所述机器人的基于时间运动规划;

从修正后的基于时间运动规划,调取下一个时间基步态规划,并执行所述获取时间基步态规划,以及检测机器人执行所述时间基步态规划时机器人的步态信息和相位信息的步骤。

8.一种机器人运动规划系统,其特征在于,包括:

获取模块,用于获取时间基步态规划,以及检测机器人执行所述时间基步态规划时机器人的步态信息和相位信息;

预测模块,用于将所述时间基步态规划输入卡尔曼滤波检测器,预测所述机器人执行所述时间基步态规划后的估计接触状态;

测量模块,用于将所述步态信息和相位信息输入所述卡尔曼滤波检测器进行检测,得到所述机器人的实际接触状态;

触发模块,用于根据所述估计接触状态和实际接触状态触发所述机器人运动的事件基步态规划。

9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的机器人运动规划方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的机器人运动规划方法的步骤。

技术总结
本申请提供一种机器人运动规划方法、系统、计算机设备和存储介质,所述方法包括:获取时间基步态规划,以及检测机器人执行时间基步态规划时机器人的步态信息和相位信息;将时间基步态规划输入卡尔曼滤波检测器,预测机器人执行时间基步态规划后的估计接触状态;将步态信息和相位信息输入卡尔曼滤波检测器进行检测,得到机器人的实际接触状态;根据估计接触状态和实际接触状态触发机器人运动的事件基步态规划。上述方法,实现根据机器人本体对未知复杂环境的感知,在感知后根据实际感知和预测量触发事件基步态规划,及时调整修正步态,使得机器人依靠本体感知进行自适应调整而实现在复杂未知地形的自主行走,保障四足机器人在未知地形的稳定行走。

技术研发人员:赵玉栋;刘玉平;向星灿;张月圆;梁文钰
受保护的技术使用者:广东博智林机器人有限公司
技术研发日:2020.01.03
技术公布日:2020.05.19

转载请注明原文地址: https://bbs.8miu.com/read-267754.html

最新回复(0)