一种基于内模控制的机器人手眼协调方法

未命名 09-17 阅读:115 评论:0


1.本发明涉及机器人书法领域,尤其涉及一种基于内模控制的机器人手眼协调方法。


背景技术:

2.在机器人身上学习书法被认为是一项复杂的任务,在机器人书法领域,一个主要问题是机器人如何学习书写美学字符或字母,为了解决这个问题,机器人科学家们从各个方面对机器人学习写作进行了研究,目前的研究分为两种类型的训练方法:离线学习和在线学习。
3.在离线学习策略中,训练数据集必须提前收集,在模型训练过程中,该数据集不再发生变化,因此,使用离线学习策略模型的目标是尽可能准确地拟合训练数据,由于离线学习策略的这一特点,这些使用离线学习策略的方法在数据集上的拟合能力较强,数据集的质量是影响书法机器人性能的重要因素,特别是在数据集没有足够数据的情况下,这种方法很难达到最优性能,与离线学习策略相比,许多研究者也采用在线学习策略来设计书法机器人,为了使书法机器人能够与人互动,一些研究者利用人机交互策略来训练机器人,这些在线学习方法具有较好的生成能力,然而,在线学习模型的学习时间比离线机器人的学习时间长,很难保证在线学习机器人在学习阶段的稳定工作,此外,这些方法必须利用运动信息来引导机器人,运动信息由人来引导机器人,然而,运动信息的收集也需要大量的人力工作量。
4.由此可见,这些方法存在计算成本高、生成结果多样性低等局限性,制约了书法机器人的发展,为了解决这些局限性,本发明方法提出了一种基于内模控制的机器人手眼协调方法。


技术实现要素:

5.本发明的技术解决问题是:针对离线学习模型与在线学习模型的不足,提出了一种基于内模控制的机器人手眼协调方法。
6.本发明的技术解决方案如下:
7.一种基于内模控制的机器人手眼协调方法,包括以下步骤:
8.步骤1,创建一个视觉-运动网络来模拟模型的直接功能;
9.步骤2,开发一个运动-视觉网络来模拟反向模型;
10.步骤3,机器人写作系统收集训练数据,然后将所提模型在机器人书写系统上实现;
11.步骤4,利用反向传播算法对模型进行训练;
12.步骤5,对比验证所提模型的性能。
13.优选的,所述步骤1中,创建一个视觉-运动网络来模拟直接模型的功能,具体为:
14.步骤1a,根据笔画图像生成笔画动作,视觉-运动网络由两个卷积层、两个池层和
四个完全连接层组成,姿态用三维矢量表示;书写动作由一个三维向量表示,其中i表示动作中的姿势数,因此,视觉-运动网络的输出层有3i个神经元,由于输入图像的大小为28
×
28像素,因此视觉运动网络的输入层有784个神经元,在该方法中,视觉-运动网络除输出层外,其余各层均使用selu作为激活函数,由于写入动作是由一组连续值来表示的,因此视觉-运动网络的输出层使用sigmoid函数作为激活函数;
15.步骤1b,使用视觉-运动网络v对图像s到书写动作a的映射关系进行建模,机器人的手眼协调运动能力被定义为f:a

s和f-1
:s

a,
16.其中,书写动作运动轨迹的图像表示为s∈s,书写动作轨迹的图像表示为:sj∈s,机器人的书写动作表示为a=[g1,g2,

,gi],a∈a,动作机器人书写笔画表示为a
x
∈a,机器人的手眼协调定义为g=f(p),p∈p和p=f-1
(g),g∈g,机器人手臂姿态表示为g=[j1,j2,

,ji],g∈g,
[0017]
其中,机器人视觉系统捕捉到的机器人手臂姿态图像表示为p∈p,ji为机器人手臂第i个关节的角度值,g为机械臂姿态;i表示写入动作的长度。
[0018]
优选的,所述步骤2中,开发一个运动-视觉网络来模拟反向模型,是书写动作到图像映射关系的模型,用于辅助视觉-运动网络的训练,具体步骤为:
[0019]
步骤2a,构建运动-视觉网络,运动-视觉网络由三个完全连接层和两个转置卷积层组成,运动-视觉网络的输入层和输出层分别包含3i和784个神经元,与视觉-运动网络完全相反,但是,与视觉-运动网络类似的是,运动-视觉网络的输出层使用sigmoid函数作为其激活函数,其余网络层使用selu作为其激活函数,运动-视觉网络根据输入动作生成图像m(a)之后,使用m(a)与视觉-运动网络输入之间的误差s来训练视觉-运动网络;
[0020]
步骤2b,运动-视觉网络训练完成后,用运动-视觉网络指导视觉-运动网络的训练,将视觉-运动网络的输出动作a作为运动-视觉网络的输入,同时对视觉-运动网络进行训练,由于每个写入动作只对应一个图像,因此动作到图像的映射关系比图像到动作的映射关系更简单,并且运动-视觉网络直接基于图像s与生成图像之间的重建误差进行训练;
[0021]
步骤2c,由于运动-视觉网络的输出是一幅图像,所以使用交叉熵函数作为运动-视觉网络的损失函数,定义为:
[0022][0023]
步骤2d,视觉-运动网络的训练依赖于运动-视觉网络的指导,因此,视觉-运动网络的损失函数定义如下:
[0024][0025]
其中m(
·
)代表运动-视觉网络;表示视觉-运动网络产生的写入动作,视觉-运动网络用lv来训练,lv表示s与的重构图像之间的误差。
[0026]
优选的,所述步骤3中机器人写作系统收集训练数据,然后将所提模型在机器人书写系统上实现该方法包括以下步骤:
[0027]
步骤3a,首先生成一个随机动作;
[0028]
步骤3b,通过逆运动学方程将该随机动作转换为机器人的关节值;
[0029]
步骤3c,机器人根据这些关节值的变化信息控制笔在板子上写字;
[0030]
步骤3d,摄像头捕捉机器人的书写结果,并将其转换为标准图像,将捕获的图像作
为随机动作的标签,与该动作一起构成训练样本,在该模型中,机器人的动作用直角坐标系表示,机器人的动作可以看作是机器人依次经过笛卡尔坐标系中的一系列点,因此,机器人的动作,a=[g1,g2,

,gi],也表示为一系列笛卡尔坐标点,a=(d1,d2,

,di),其中i表示点的个数,di表示机器人握笔在笛卡尔空间中的位置,记为di=(xi,yi,zi),因此,在提出的模型中,一个动作序列由3i个神经元表示。当机器人执行由模型生成的动作时,将笛卡尔坐标点表示的动作转换为机器人的关节值,a=[g1,g2,

,gi]基于逆运动学方程。
[0031]
优选的,所述步骤4中利用反向传播算法对模型进行训练具体为:
[0032]
利用真实图像与生成图像之间的重构误差,来更新运动-视觉网络;
[0033]
使用真实图像s与生成图像之间的误差来更新视觉-运动网络;
[0034]
模型的训练分为两个步骤:首先,对运动-视觉网络进行训练;在运动-视觉网络收敛后,将运动-视觉网络固定,并对运动-视觉网络进行训练,直到其收敛。
[0035]
优选的,所述步骤五验证所提模型的性能具体为:
[0036]
首先,在随机书写数据集(rw)上对模型进行训练,并在汉字笔画数据集(ccs)上进行测试;
[0037]
然后,设计了一系列的消融实验及一组对比实验来验证本发明方法所提模型的性能。
[0038]
本发明具有如下有益效果:
[0039]
(1)结构简单,机器人书法书写框架仅由两个神经网络组成,训练仅基于机器人的随机书写,这一特性大大降低了机器人写作的实现复杂性。
[0040]
(2)本发明所提模型泛化能力好,现有的使用离线学习策略的方法中,泛化能力受到训练数据的限制,当笔画不在训练数据集中时,这些方法的性能会大大降低,虽然训练数据中没有包含笔画的运动信息,但所提出的模型可以根据笔画的图片进行笔画的书写。
附图说明
[0041]
图1为本发明方法的流程示意图;
[0042]
图2为本发明方法的机器人的硬件系统编写模块示意图;
[0043]
图3为本发明方法所提模型控制机器人手臂根据所提供的笔画图像成功地在白板上书写笔画;
[0044]
图4为单网络模型的训练过程示意图;
[0045]
图5为本发明方法和单网络模型在不同数据集上的性能测试数据;
[0046]
图6为本发明方法与gan模型、drl模型的fid值;
[0047]
图7为本发明方法的总体步骤流程图。
具体实施方式
[0048]
为有关本发明的前述及其他技术内容、特点与功效,在以下配合参考附图1至7对实施例的详细说明中,将可清楚的呈现。以下实施例中所提到的结构内容,均是以说明书附图为参考。
[0049]
下面将参照附图描述本发明的各示例性的实施例。
[0050]
实施例一,一种基于内模控制的机器人手眼协调方法,内模控制也即imc,是基于过程教学模型进行控制器设计的新型控制策略,包括以下步骤:
[0051]
首先,创建一个视觉-运动网络来模拟模型的直接功能;
[0052]
开发一个运动-视觉网络来模拟反向模型;
[0053]
之后,机器人写作系统收集训练数据,然后将所提模型在机器人书写系统上实现;
[0054]
利用反向传播算法对模型进行训练;
[0055]
最后,对比验证所提模型的性能。
[0056]
实施例二,在实施例一的基础上,所述创建一个视觉-运动网络来模拟直接模型的功能,根据笔画图像生成笔画动作,具体为:
[0057]
视觉-运动网络由两个卷积层、两个池层和四个完全连接层组成,姿态用三维矢量表示;书写动作由一个三维向量表示,其中i表示动作中的姿势数,因此,视觉-运动网络的输出层有3i个神经元,由于输入图像的大小为28
×
28像素,因此视觉-运动网络的输入层有784个神经元,在该方法中,视觉-运动网络除输出层外,其余各层均使用selu作为激活函数,由于写入动作是由一组连续值来表示的,因此视觉-运动网络的输出层使用sigmoid函数作为激活函数;
[0058]
使用视觉运动网络v对图像s到书写动作a的映射关系进行建模,机器人的手眼协调运动能力被定义为f:a

s和f-1
:s

a;
[0059]
书写动作运动轨迹的图像表示为s∈s,书写动作轨迹的图像表示为:sj∈s,机器人的书写动作表示为a=[g1,g2,

,gi],a∈a。动作机器人书写笔画表示为a
x
∈a;
[0060]
机器人的手眼协调定义为g=f(p),p∈p和p=f-1
(g),g∈g。机器人手臂姿态表示为g=[j1,j2,

,ji],g∈g,其中,机器人视觉系统捕捉到的机器人手臂姿态图像表示为p∈p,ji为机器人手臂第i个关节的角度值,g为机械臂姿态;i表示写入动作的长度。
[0061]
实施例三,在实施例一的基础上,开发一个运动-视觉网络来模拟反向模型,是书写动作到图像映射关系的模型,用于辅助视觉-运动网络的训练,具体为:
[0062]
由于在书写板上书写的多个动作的书写结果是相同的,视觉运动网络无法区分哪一个动作与书写结果相对应,图像与动作的多对一对应关系使得视觉-运动网络不适合直接与动作进行训练,如果根据动作a与生成的动作a之间的误差来训练视觉运动网络,则重构精度a很低,视觉运动网络无法生成相应的笔画动作,因此,在模型中引入一个视觉-运动网络的逆网络,即运动-视觉网络,m来辅助训练视觉-运动网络,运动-视觉网络根据输入写入动作生成相应的轨迹图像,运动-视觉网络由三个完全连接层和两个转置卷积层组成,运动-视觉网络的输入层和输出层分别包含3i和784个神经元,与视觉-运动网络完全相反,但是,与视觉-运动网络类似的是,运动-视觉网络的输出层使用sigmoid函数作为其激活函数,其余网络层使用selu作为其激活函数:
[0063]
运动-视觉网络根据输入动作生成图像m(a)之后,使用m(a)与视觉-运动网络输入之间的误差s来训练视觉-运动网络;
[0064]
运动-视觉网络训练完成后,用运动-视觉网络指导视觉-运动网络的训练,将视觉-运动网络的输出动作a作为运动-视觉网络的输入,同时对视觉-运动网络进行训练;
[0065]
由于每个写入动作只对应一个图像,因此动作到图像的映射关系比图像到动作的映射关系更简单,并且运动-视觉网络直接基于图像s与生成图像之间的重建误差进行训
练;
[0066]
由于运动-视觉网络的输出是一幅图像,所以使用交叉熵函数作为运动-视觉网络的损失函数,定义为:
[0067][0068]
视觉-运动网络的训练依赖于运动-视觉网络的指导,因此,视觉-运动网络的损失函数定义如下:
[0069][0070]
其中m(
·
)代表运动-视觉网络;表示视觉-运动网络产生的写入动作。视觉-运动网络用lv来训练,lv表示s与的重构图像之间的误差。
[0071]
实施例四,在实施例一的基础上,所述机器人写作系统收集训练数据,然后将所提模型在机器人书写系统上实现,具体为,如图2所示,书法机器人的硬件由一个4自由度的机械臂、一支书写笔、一块书写板和一个摄像头组成,书写笔固定在机械臂末端执行器上,其他部件固定在机器人平台上,机械臂控制书写笔在书写板上书写,书法机器人执行书写动作,所述摄像头用于捕获所述写入结果并将所述结果转换为图像;
[0072]
训练数据的收集过程是:首先生成一个随机动作,其次,通过逆运动学方程将该随机动作转换为机器人的关节值,然后,机器人根据这些关节值的变化信息控制笔在板子上写字,最后,摄像头捕捉机器人的书写结果,并将其转换为标准图像,将捕获的图像作为随机动作的标签,与该动作一起构成训练样本;
[0073]
在该模型中,机器人的动作用直角坐标系表示,机器人的动作可以看作是机器人依次经过笛卡尔坐标系中的一系列点,因此,机器人的动作,a=[g1,g2,

,gi],也表示为一系列笛卡尔坐标点,a=(d1,d2,

,di),其中i表示点的个数,di表示机器人握笔在笛卡尔空间中的位置,记为di=(xi,yi,zi),因此,在提出的模型中,一个动作序列由3i个神经元表示,当机器人执行由模型生成的动作时,将笛卡尔坐标点表示的动作转换为机器人的关节值,a=[g1,g2,

,gi]基于逆运动学方程。
[0074]
实施例五,在实施例一的基础上,所述利用反向传播算法对模型进行训练,具体为,模型梯度信息的反向传播过程如图1中的虚线所示,利用真实图像与生成图像之间的重构误差,来更新运动-视觉网络;
[0075]
使用真实图像s与生成图像之间的误差来更新视觉-运动网络;
[0076]
由于视觉-运动网络的训练依赖于运动-视觉网络,因此将模型的训练分为两个步骤:首先,对运动-视觉网络进行训练;在运动-视觉网络收敛后,将运动-视觉网络固定,并对运动-视觉网络进行训练,直到其收敛。
[0077]
实施例六,在实施例一的基础上,所述验证所提模型的性能,具体为,
[0078]
首先,在随机书写数据集(rw)上对模型进行训练,并在汉字笔画数据集(ccs)上进行测试,然后,设计了一系列的消融实验及一组对比实验来验证本发明方法所提模型的性能;
[0079]
rw数据集包含10万个训练样本,由机器人写作模块收集,该示例包括随机写入动作和相应的结果图像,随机写入数据集按9:1的比例分为训练集和验证集,此外,使用笔画
数据集作为测试集来验证训练模型的性能,ccs数据集包含3500多个数据样本,每个笔画有500多个样本;
[0080]
提出的模型经过训练后,通过测试数据集对模型进行验证,性能如图3所示,该模型控制机器人手臂根据所提供的笔画图像成功地在白板上书写笔画,实验结果表明,该模型具有有效的泛化能力,可以根据未训练的笔画图像生成正确的书写动作:
[0081]
首先,设计了一个对比实验来验证运动-视觉网络的效果,之后,为了测试书写动作长度对未训练笔画样本的影响,我们使用不同长度的随机书写动作来训练所提出的模型,最后,通过在不同的训练数据集上进行模型训练,检验训练数据对模型泛化能力的影响;
[0082]
由于在单网络模型中去除了运动-视觉网络,因此将视觉-运动网络的损失函数改为实际动作a与生成动作a的均方误差,定义为:
[0083][0084]
图4为单个网络模型的训练过程,尽管所提出的模型中视觉-运动网络的收敛速度比单一网络模型慢,所提模型在性能上优于单一网络模型,在300个原始模型和单个网络模型在验证集和测试集上进行对比实验,使用真实图像s与机器人书写系统生成的图像w(a)的余弦相似度作为模型性能的评价指标;如图5所示,实验数据为:单网络模型在验证集上所得性能值为0.7515,本发明方法所提模型所得性能值为0.8742;单网络模型在测试集上所得性能值为0.6529,本发明方法所提模型所得性能值为0.7930,由此可以看出所提模型在验证集和测试集上的性能都优于单一网络模型;
[0085]
设计了一组基于深度强化学习(drl)的方法和一种基于生成式对抗网络(gan)的方法与本发明所提模型的对比实验,由于基于gan的方法无法使用余弦相似度来测量其结果,因此本实验引入了frenchet inception distance(fid)来评估这三种方法的所有生成结果,生成的结果与训练集越相似,得到的fid值越小,另外,由于机器人执行动作所花费的时间占据了训练机器人学习写作任务所花费的大部分时间,所以使用模型建模过程中机器人的写作次数来粗略估计模型的建模时间;
[0086]
为了便于将所提模型与比较方法进行比较,所提模型分别在样本数量为9,000、64,500和100,000的训练集上进行训练,如图6所示,当该模型被9000个样本训练时,该模型的性能明显优于drl方法,接近gan方法的性能;当模型被64,500个样本训练时,其性能优于gan方法的性能,虽然所提模型的性能也优于gan方法的性能,但性能提升并不明显,与两种方法相比,该模型的性能更好,训练时间更短。
[0087]
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.基于内模控制的机器人手眼协调方法,其特征在于,包括以下步骤:步骤1,创建一个视觉-运动网络来模拟模型的直接功能;步骤2,开发一个运动-视觉网络来模拟反向模型;步骤3,机器人写作系统收集训练数据,然后将所提模型在机器人书写系统上实现;步骤4,利用反向传播算法对模型进行训练;步骤5,对比验证所提模型的性能。2.基于内模控制的机器人手眼协调方法,其特征在于:所述步骤1中,创建一个视觉-运动网络来模拟直接模型的功能,具体为:步骤1a,根据笔画图像生成笔画动作,视觉-运动网络由两个卷积层、两个池层和四个完全连接层组成,姿态用三维矢量表示;书写动作由一个三维向量表示,其中i表示动作中的姿势数,因此,视觉-运动网络的输出层有3i个神经元,由于输入图像的大小为28
×
28像素,因此视觉运动网络的输入层有784个神经元,在该方法中,视觉-运动网络除输出层外,其余各层均使用selu作为激活函数,由于写入动作是由一组连续值来表示的,因此视觉-运动网络的输出层使用sigmoid函数作为激活函数;步骤1b,使用视觉-运动网络v对图像s到书写动作a的映射关系进行建模,机器人的手眼协调运动能力被定义为f:a

s和f-1
:s

a,其中,书写动作运动轨迹的图像表示为s∈s,书写动作轨迹的图像表示为:s
j
∈s,机器人的书写动作表示为a=[g1,g2,

,g
i
],a∈a,动作机器人书写笔画表示为a
x
∈a,机器人的手眼协调定义为g=f(p),p∈p和p=f-1
(g),g∈g,机器人手臂姿态表示为g=[j1,j2,

,j
i
],g∈g,其中,机器人视觉系统捕捉到的机器人手臂姿态图像表示为p∈p,j
i
为机器人手臂第i个关节的角度值,g为机械臂姿态;i表示写入动作的长度。3.基于内模控制的机器人手眼协调方法,其特征在于:所述步骤2中,开发一个运动-视觉网络来模拟反向模型,是书写动作到图像映射关系的模型,用于辅助视觉-运动网络的训练,具体步骤为:步骤2a,构建运动-视觉网络,运动-视觉网络由三个完全连接层和两个转置卷积层组成,运动-视觉网络的输入层和输出层分别包含3i和784个神经元,与视觉-运动网络完全相反,但是,与视觉-运动网络类似的是,运动-视觉网络的输出层使用sigmoid函数作为其激活函数,其余网络层使用selu作为其激活函数,运动-视觉网络根据输入动作生成图像m(a)之后,使用m(a)与视觉-运动网络输入之间的误差s来训练视觉-运动网络;步骤2b,运动-视觉网络训练完成后,用运动-视觉网络指导视觉-运动网络的训练,将视觉-运动网络的输出动作a作为运动-视觉网络的输入,同时对视觉-运动网络进行训练,由于每个写入动作只对应一个图像,因此动作到图像的映射关系比图像到动作的映射关系更简单,并且运动-视觉网络直接基于图像s与生成图像之间的重建误差进行训练;步骤2c,由于运动-视觉网络的输出是一幅图像,所以使用交叉熵函数作为运动-视觉网络的损失函数,定义为:步骤2d,视觉-运动网络的训练依赖于运动-视觉网络的指导,因此,视觉-运动网络的
损失函数定义如下:其中m(
·
)代表运动-视觉网络;表示视觉-运动网络产生的写入动作,视觉-运动网络用l
v
来训练,l
v
表示s与的重构图像之间的误差。4.基于内模控制的机器人手眼协调方法,其特征在于,所述步骤3中机器人写作系统收集训练数据,然后将所提模型在机器人书写系统上实现该方法包括以下步骤:步骤3a,首先生成一个随机动作;步骤3b,通过逆运动学方程将该随机动作转换为机器人的关节值;步骤3c,机器人根据这些关节值的变化信息控制笔在板子上写字;步骤3d,摄像头捕捉机器人的书写结果,并将其转换为标准图像,将捕获的图像作为随机动作的标签,与该动作一起构成训练样本,在该模型中,机器人的动作用直角坐标系表示,机器人的动作可以看作是机器人依次经过笛卡尔坐标系中的一系列点,因此,机器人的动作,a=[g1,g2,

,g
i
],也表示为一系列笛卡尔坐标点,a=(d1,d2,

,d
i
),其中i表示点的个数,d
i
表示机器人握笔在笛卡尔空间中的位置,记为d
i
=(x
i
,y
i
,z
i
),因此,在提出的模型中,一个动作序列由3i个神经元表示。当机器人执行由模型生成的动作时,将笛卡尔坐标点表示的动作转换为机器人的关节值,a=[g1,g2,

,g
i
]基于逆运动学方程。5.基于内模控制的机器人手眼协调方法,其特征在于,所述步骤4中利用反向传播算法对模型进行训练具体为:利用真实图像与生成图像之间的重构误差,来更新运动-视觉网络;使用真实图像s与生成图像之间的误差来更新视觉-运动网络;模型的训练分为两个步骤:首先,对运动-视觉网络进行训练;在运动-视觉网络收敛后,将运动-视觉网络固定,并对运动-视觉网络进行训练,直到其收敛。6.基于内模控制的机器人手眼协调方法,其特征在于,所述步骤五验证所提模型的性能具体为:首先,在随机书写数据集(rw)上对模型进行训练,并在汉字笔画数据集(ccs)上进行测试;然后,设计了一系列的消融实验及一组对比实验来验证本发明方法所提模型的性能。

技术总结
本发明基于内模控制的机器人手眼协调方法,建立了视觉-运动网络和运动-视觉网络,对机械臂内模控制系统的直接模型和反转模型进行了仿真,视觉-运动网络作为一个动作发生器,将图像输入转换为机器人动作;而运动视觉网络辅助了视觉-运动网络的训练,因此,通过机械臂的随机书写动作建立了运动视觉网络的预训练,能够通过输入目标笔画图像成功地完成汉字笔画的书写,结构简单、泛化能力好。泛化能力好。泛化能力好。


技术研发人员:吴瑞琪 苏慧清 胡波 樊超 刘刚 张自豪 母亚双 晁飞 郭孟佳 丁钰琳
受保护的技术使用者:河南工业大学
技术研发日:2023.06.20
技术公布日:2023/9/16
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐