一种类人机器人的控制方法与流程

文档序号:15690027发布日期:2018-10-16 21:54阅读:1137来源:国知局
一种类人机器人的控制方法与流程

本发明涉及机器人领域,具体涉及一种类人机器人的控制方法。



背景技术:

近年来,关于类人机器人的研究与开发盛行,在类人机器人动作模型的研究中,存在众多的难题需要攻克。对于人类动作模型的研究,有众多的研究者在研究,并且使用类人机器人建立了多种人类动作模拟系统。但人类动作模型并不能直接适用于类人机器人。

与人的身体相比,机器人的自由度要少很多,无法像人一样灵活的做出各种动作.并且,随着机器人自由度的增多,对于机器人的控制难度也会相应增加,这导致机器人动作的准确性比较低。除此之外,机器人动作幅度较小,各种干扰因素伴随着机器人动作而无法避免,这些因素增加了机器人动作模型建立的复杂度与学习的难度。



技术实现要素:

针对上述问题,本发明提出了通过高斯过程动态模型对高维数据进行降维处理后建立机器人动作模型,从而控制类人机器人进行运动。该控制方法可有效简化机器人动作模型建立的复杂度,对机器人的控制更加稳定准确。

为了实现上述目的,本发明采用以下技术方案:

一种类人机器人的控制方法,包括以下步骤:

步骤1:采用主成分分析提取所述类人机器人的全身关节动作数据特征,对数据进行降维处理;

步骤2:在低维空间内通过高斯过程动态模型建立机器人的动作模型;

步骤3:通过机器人的动作模型控制所述类人机器人进行运动;

具体的,所述步骤1中降维处理具体步骤为:

1-1:输入数据集,输出集,其中表示连续时间内机器人姿态的观测集,表示主成分分析降维处理后的低维数据集;

1-2:对y进行零均值归一化处理,计算协方差矩阵

计算特征向量u和特征值λ,根据特征值的顺序,将重组为,其中

1-3:对输出集进行计算,其中

具体的,所述步骤2中通过高斯过程动态模型建立机器人动作模型的具体步骤为:

2-1:输入数据y,输出参数

2-2:初始化x,,从i=1到i=iteration执行高斯过程动态模型,其中iteration是整个高斯过程动态模型得学习次数;

2-3:对取同时分布得到,取其负对数概率得到

,从j=1开始到j=d执行公式

,求解w后结束j循环;

从m=1开始到m=m执行公式

,求得最优解后结束m循环;

2-4:结束i循环。

本发明的有益效果是:通过采用高斯过程动态模型直接对机器人的动作进行学习并有效的建立了动作模型,从而有效的解决了机器人动作数据维数过高的问题,通过降维处理能够有效的对机器人的动作进行学习训练,在低维空间中展现机器人动作的特征。同时可以对机器人的下一时刻的动作进行预测,实现机器人的动作预测、规划,从而更加有效的控制机器人,可实现机器人在无人环境中、无指令的条件下的自我控制。本控制方法可广泛应用于类人机器人以及机械臂等工业机器人动作模型的建立,对于实现机器人自身更加稳定准确的实现各种动作具有很大的意义。

附图说明

图1是本发明进行控制的类人机器人。

图2是本发明主成分分析降维处理流程图。

图3是本发明类人机器人步行图。

图4是本发明类人机器人步行模型。

图5是本发明类人机器人学习后复原数据与原机器人关节数据对比图。

具体实施方式

以下结合附图和具体实施方式对本发明做进一步的描述,但是本实施方式并不限定于以下的内容,在无损本发明的主旨的范围内可任意地进行变更并实施。

如图1所示,本发明采用nao机器人,对其动作数据进行采集后进行建模处理。所述nao机器人如图1所示,其全身具有25个关节自由度,通过控制着25个关节的电机可驱动nao机器人做出各种动作。

采用主成分分析提取所述nao机器人的全身关节动作数据特征,对数据进行降维处理。通过降维处理可简化学习,缩减整个机器人动作数据学习的计算成本。

如图2所示,矢量是连续时间内机器人姿态的观测集,包含n个状态,每个状态下的都代表机器人动作轨迹的一个瞬间状态值。每个状态的定义为,其中是每个状态的维数。x是主成分分析降维处理后的低维数据集。此时的。通过对主成分分析降维处理,可以实现d维数据到3d数据的降维处理()。

所述主成分分析降维处理具体步骤是:

输入数据集,输出集;对y进行零均值归一化处理,计算协方差矩阵;计算特征向量u和特征值λ,根据特征值的顺序,将重组为,其中;对输出集进行计算,其中

通过主成分分析降维处理后,在低维空间内通过高斯过程动态模型建立机器人的动作模型。在高斯过程动态模型的学习过程中,学习参数有

其中,为观测集和低维状态集,为超参数,为尺度参数。在任意时刻,状态方程为:

(1)

(2)

是在时刻,降维后空间的状态值,则是对应时刻的观测值,为噪声,是由非线性基底函数所定义。

(3)

(4)

这里,,,a于b服从正态分布。

观测与对应x的概率分布如下

(5)

其中,是由所定义的核心矩阵。在gpdm中,我们使用rbf核函数,

(6)

其中,为尺度参数,为控制核函数宽度的参数,为噪声方差参数。

(7)

此处,

(8)

由线性核函数和rbf核函数共同定义。控制rbf核函数部分,控制线性核函数部分。

在学习过程中,一些参数采用近似处理。具体如下:

观测是已知条件,x初始值也可以由主成分分析初始化得到。

是需要通过学习推定。通过式(5)~(8),可以得到的同时分布为

(9)

取其负对数概率则有:

(10)

其中,为常量参数。

根据式(5),(7)可得

(11)

(12)

通过式(11),(12),最小化式(10)的负对数概率,可以推定的值。采用缩放共轭梯度法迭代m次,求取最优解。

高斯过程动态模型的具体算法如下:

输入数据y,输出参数;利用主成分分析降维处理初始化x,初始化,从i=1到i=iteration执行高斯过程动态模型,其中iteration是整个高斯过程动态模型得学习次数。

从j=1开始到j=d执行公式(10),求解w后结束j循环。

从m=1开始到m=m执行公式(10)求得最优解后结束m循环。

结束i循环。

建立机器人动作模型后,通过动作模型即可控制nao机器人进行运动。如图3所示,控制nao机器人像人一样行走,并同时采集机器人行走过程中全身25个关节的数据。每一帧,都有25个关节的运动数据,代表机器人行走过程中某个时刻的状态。随机采取记录机器人机器人行走中连续1000帧的数据,利用高斯过程动态模型对机器人步行这一动作进行学习并建模。整个学习共耗时5分钟,而且有效的学习并建立了机器人步行动作模型。

如图4所示,机器人在步行的过程中不断的做重复性动作,所以通过学习所得到的模型也是重合的。在这个3d空间中,可以很直观清晰的表现出机器人的步行动作。并且可以随着时间的变化,利用学习得到的模型预测机器人下一个时刻的动作状态。

如图5所示,对nao机器人25个关节数据进行复原来验证所建动作模型的有效性。复原数据与原数据高度吻合,并且数据稳定性有所加强,机器人使用学习后的数据能够更稳定的行走。在此,随机选取一个关节((例如leibowroll关节),将这个关节数据可视化。从图5中可看出,原关节数据与学习后还原关节数据的拟合度非常高,这也证明了使用高斯过程动态模型所建的动作模型的有效性。

以上对本发明做了详尽的描述,其目的在于让熟悉此领域技术的人士能够了解本发明的内容并加以实施,并不能以此限制本发明的保护范围,凡根据本发明的精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1