CN115990891B - 一种基于视觉示教和虚实迁移的机器人强化学习装配的方法 - Google Patents

一种基于视觉示教和虚实迁移的机器人强化学习装配的方法 Download PDF

Info

Publication number
CN115990891B
CN115990891B CN202310292031.8A CN202310292031A CN115990891B CN 115990891 B CN115990891 B CN 115990891B CN 202310292031 A CN202310292031 A CN 202310292031A CN 115990891 B CN115990891 B CN 115990891B
Authority
CN
China
Prior art keywords
assembly
robot
teaching
simulation
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310292031.8A
Other languages
English (en)
Other versions
CN115990891A (zh
Inventor
江一鸣
唐文杰
周显恩
钟杭
谭浩然
莫洋
杨子豪
姜娇
冯运
张辉
王耀南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University
Original Assignee
Hunan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan University filed Critical Hunan University
Priority to CN202310292031.8A priority Critical patent/CN115990891B/zh
Publication of CN115990891A publication Critical patent/CN115990891A/zh
Application granted granted Critical
Publication of CN115990891B publication Critical patent/CN115990891B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Manipulator (AREA)

Abstract

本发明提供了一种基于视觉示教和虚实迁移的机器人强化学习装配的方法包括如下步骤:步骤S0、搭建机器人装配硬件平台;步骤S1、获取装配对象在三维空间中的6D位姿示教轨迹;步骤S2、搭建虚拟仿真环境,通过示教轨迹来预训练装配策略模型使之具有类似人工装配的运动轨迹;步骤S3、再训练并优化装配策略模型,提高机器人装配的成功率。本发明装配策略的训练效率高、实际实验数据易于收集,有效解决仿真环境与现实实验环境误差导致的装配策略性能下降的问题。

Description

一种基于视觉示教和虚实迁移的机器人强化学习装配的方法
技术领域
本发明涉及人工智能技术应用领域,特别涉及一种基于视觉示教和虚实迁移的机器人强化学习装配的方法。
背景技术
随着智能制造产业的需求和人工智能技术的发展,深度强化学习已经成功的广泛地应用于机器人操作任务和连续控制的问题中,利用机器人来完成零件装配任务已经成为主要发展趋势。最近的一些研究表明,深度强化学习方法可靠性和鲁棒性存在限制,把装配策略模型从仿真迁移到现实中实施存在困难,装配策略模型在现实中运行不稳定,甚至出现过拟合的情况。
机器人完成轴孔装配以及复杂零部件装配任务主要可以分为三个部分,即找到目标位置、对齐、插入。传统的强化学习装配策略需要耗费大量的时间、精力去收集实验数据和训练装配策略,由于装配对象的多样性,一种零件的装配策略迁移到另一种零件上时达不到理想的装配效果,导致重新实验训练装配策略模型。为此提高机器人强化学习装配效率十分必要。
最近一些学者提出从人类示教中学习,将专家经验与强化学习相结合,模仿学习可以使用正确的行为示范来训练模仿专家的策略,但是如何实现接近人类装配运动的轨迹是一个巨大的挑战。一些研究表明,基于视觉示教可以更快的训练机器人完成更像人类的不同操作任务,同时不需要复杂的手动标注。基于视觉示教需要运动重定向,即将人的手部运动转换为机器人的手部运动来指挥机器人。同时一些研究者采用PyBullet(一个Python模块,可用于机器人,游戏,视觉效果和机器学习的物理模拟)、Mujoco (Multi-Jointdynamics with Contact,接触型多关节动力学,一个模拟接触周围环境的多关节运动的物理引擎,可用于机器人动作、生物力学、图形和动画、机器学习等领域)等仿真环境来训练机器人装配,来解决从现实世界采集样本效率低、数据收集困难的问题。但将仿真中训练的智能体模型迁移到现实世界中时,现实与仿真的差距会导致装配策略模型的性能降低。
发明内容
本发明提供了一种基于视觉示教和虚实迁移的机器人强化学习装配的方法,其目的是为了解决背景技术中装配策略的训练效率低、实际实验数据难以收集、仿真环境和现实实验环境存在巨大差距导致装配策略性能下降的技术问题。
为了达到上述目的,本发明提供的一种基于视觉示教和虚实迁移的机器人强化学习装配的方法,如图1所示,包括如下步骤:
步骤S0、搭建机器人装配硬件平台,使RGB-D(RGB+Depth Map,RGB-D)相机可拍摄到装配目标及机器人装配结构;
步骤S1、获取装配对象在三维空间中的6D位姿示教轨迹;具体包括:
步骤S11:使用RGB-D相机和结构光拍摄人工装配过程,得到人工装配示教的图像;
步骤S12:对目标,即人工装配示教的每张图像中的装配对象,进行识别和分割,通过深度信息和相机内部参数获取点云,估计目标的6D位姿,收集一组6D位姿数据得到装配示教轨迹,并通过手眼标定,将示教轨迹从图像坐标系转移到世界坐标系;
步骤S2、搭建虚拟仿真环境,通过示教轨迹来预训练装配策略模型使之具有类似人工装配过程的运动轨迹;
步骤S3、再训练并优化装配策略模型,提高机器人装配的成功率;具体包括:
步骤S31、利用物理仿真引擎,在虚拟环境中使用近端策略优化算法再训练步骤S2中的装配策略模型,提高机器人完成装配任务的成功率;
步骤S32、通过域随机化来增强装配策略模型的鲁棒性和提高迁移到现实世界的成功率;
步骤S33、利用虚拟环境与现实之间的误差关系设计视觉误差估计器,并通过虚拟环境中机器人的状态信息以及视觉误差估计器,实现真实环境下的机器人零件装配任务。
优选地,所述步骤S11包括如下步骤:
步骤S111、准备一个RGB-D相机和结构光光源;
步骤S112、将相机和结构光固定在装配场景的上方,保证相机能拍摄到完整的人工装配场景,此时相机与机器人的关系为“眼在手外”;
步骤S113、用相机拍摄人工完成装配动作,即将装配对象插入装配目标位置。
优选地,所述步骤S12具体为:
使用Yolov5(Yolo第5版,ultralytics公司提供的项目)对步骤S11拍摄到的每张图像中的装配对象进行识别和分割;通过深度信息和相机内部参数获取目标的点云数据;使用通过基于法向量的迭代最近点改进算法(Normal Iterative Closest Point,NICP)算法处理点云数据来得到目标的6D位姿;收集一组6D位姿数据得到示教轨迹,即装配对象插入装配目标位置的6D位姿变换过程,将得到的示教轨迹,通过手眼标定得到的旋转平移关系,从图像坐标系转换到世界坐标系;
其中,获取所述图像坐标系和世界坐标系之间的旋转矩阵和平移向量具体为:
Figure SMS_1
Figure SMS_2
其中,
Figure SMS_5
、/>
Figure SMS_7
是目标像素在图像坐标系中的位置,/>
Figure SMS_10
、/>
Figure SMS_3
是图像中心的像素位置;/>
Figure SMS_8
Figure SMS_11
表示每列和每行的长度;/>
Figure SMS_13
是相机的焦距;/>
Figure SMS_4
表示相机坐标系中的位置;
Figure SMS_6
是世界坐标系中位置;/>
Figure SMS_9
是旋转矩阵,/>
Figure SMS_12
是平移向量。
优选地,所述步骤S12具体包括如下步骤:
步骤S121:训练一个Yolov5模型,对步骤S11拍摄的人工装配示教的每一张图像中的装配对象进行识别和分割,从每一张图像中截取物体的位置并获得像素位置;
通过深度图像和灰度图像之间的对应关系,得到实例分割生成的目标对象掩膜的深度信息;
步骤S122:利用相机的内部参数和目标的深度值,得到目标的点云,并对点云进行预处理,包括下采样、半径滤波和欧氏聚类;
步骤S123:使用NICP算法处理目标点云数据,得到6D姿态点云;
步骤S124:使用所述手眼标定图像坐标系和世界坐标系之间的旋转矩阵和平移向量,将示教轨迹从图像坐标系转换到世界坐标系。
优选地,所述步骤S2具体为:
搭建mujoco虚拟仿真环境,在虚拟仿真环境中用示教轨迹预训练装配策略模型,使机器人装配具有类似人工装配的运动轨迹;具体包括如下步骤:
步骤S21:搭建仿真训练平台,仿真平台基于ROS(Robot Operating System机器人操作系统)操作系统和开源三维动态物理仿真模拟器Mujoco构建;
步骤S22:定义状态空间和动作空间:
Figure SMS_14
其中
Figure SMS_15
即/>
Figure SMS_16
表示/>
Figure SMS_17
时刻机器人末端执行器在世界坐标系中的位置,
Figure SMS_18
即/>
Figure SMS_19
表示/>
Figure SMS_20
时刻机器人末端执行器在世界坐标系中的位移;
步骤S23:定义奖励函数:
Figure SMS_21
Figure SMS_22
其中
Figure SMS_24
表示齿轮的位置,/>
Figure SMS_28
表示齿轮轴的位置,/>
Figure SMS_30
表示/>
Figure SMS_25
时刻的位置和目标位置之间的距离,/>
Figure SMS_27
是一个常数来保证/>
Figure SMS_29
时对数函数有意义,使用对数函数是为了当靠近目标位置时产生更大的奖励,/>
Figure SMS_31
是/>
Figure SMS_23
时刻的奖励;/>
Figure SMS_26
表示奖励偏差常数,用来调整奖励信号的分布和量级;
步骤S24:定义总奖励函数
Figure SMS_32
,当前位置与目标位置之间的距离小于0.02m时,视为装配成功,环境会产生一个奖励/>
Figure SMS_33
,总奖励定义如下:
Figure SMS_34
步骤S25:使用示教轨迹对装配策略模型进行预训练,使装配策略模型具有仿人的装配轨迹,存储机器人在示教轨迹下的状态
Figure SMS_35
、执行的动作/>
Figure SMS_36
、获得的奖励/>
Figure SMS_37
、转移到的下一个状态/>
Figure SMS_38
,这些组成了预训练数据中的状态转移 (transition),存储每一个
Figure SMS_39
,得到预训练后的装配策略模型;
其中s是当前状态,a是智能体采取的动作,r是当前动作产生的奖励,s’是当前动作a发生后的状态。
优选地,所述步骤S21中所述仿真训练平台具体为:
在仿真环境中构建机器人作为智能体,将带孔零件固定在机器人末端;再建立带有轴孔的底座,将插入用的底座放置在机器人操作的空间范围内;再建立视觉传感器模型。
优选地,步骤S31具体包括:
步骤S311:PPO(近端策略优化算法,Proximal Policy Optimization)算法使用固定长度的轨迹段,在每次迭代中,收集T个步长的数据,并存储每一个
Figure SMS_40
来计算优势,优势函数估计器定义如下:
Figure SMS_41
Figure SMS_42
其中,
Figure SMS_45
表示[0,T]时间段内t时刻优势的估计值,/>
Figure SMS_46
是奖励的折扣因子,/>
Figure SMS_48
是步骤的折扣系数;/>
Figure SMS_44
表示为在时间步t时的时序差分误差,/>
Figure SMS_47
和/>
Figure SMS_49
表示为在时间步t+1和时间步t的状态值函数估计值,/>
Figure SMS_50
是时间步t的奖励,/>
Figure SMS_43
是时间步t的状态;
步骤S312:定义近端策略优化剪裁的代理目标函数
Figure SMS_51
其中,
Figure SMS_54
是一个超参数,一般/>
Figure SMS_57
,/>
Figure SMS_61
表示期望值运算符,概率比例
Figure SMS_53
表示使用当前策略/>
Figure SMS_56
在状态/>
Figure SMS_59
选择动作/>
Figure SMS_62
的概率与使用未更新参数/>
Figure SMS_52
的策略/>
Figure SMS_58
在状态/>
Figure SMS_60
选择动作/>
Figure SMS_63
的概率之比;/>
Figure SMS_55
为截取函数符号;
步骤S313:剪裁代理目标函数、价值损失函数、熵奖励组成总损失函数来更新策略和价值函数之间共享参数的神经网络架构;总损失函数定义如下:
Figure SMS_64
其中
Figure SMS_65
、/>
Figure SMS_68
是超参数,一般分别设为0.5和0.01,不同的任务和环境可能需要不同的超参数设置来获得最佳性能表现,/>
Figure SMS_71
表示期望值运算符;/>
Figure SMS_67
Figure SMS_69
为智能体使用当前价值网络估计在状态/>
Figure SMS_72
的价值函数,它表示在状态/>
Figure SMS_74
下采取任意动作的预期累积奖励 ;/>
Figure SMS_66
为当前时刻t开始,智能体在接下来的若干个时间步中所能获得的折扣奖励的累积值;/>
Figure SMS_70
为当前策略的熵奖励,用于提高策略的探索性;/>
Figure SMS_73
表示期望值运算符;
步骤S314:使用带有策略网络和价值网络的Actor-Critic (强化学习中的一种结合体,Actor是一个神经网络 Critic也是一个神经网络, Actor用于预测行为的概率,Critic是预测在这个状态下的价值)PPO算法训练步骤S2中得到的预训练模型,直至每步的奖励的平均值收敛。
优选地,步骤S32具体为:
在训练的时候给参数和真实位置增加噪声干扰,即通过域随机化来增强训练模型的鲁棒性和从仿真中迁移到现实世界的成功率。
优选地,步骤S33具体为:
步骤S331:在现实和仿真中将机器人移动到相同的初始状态,然后识别并计算现实中机器人的状态,以计算现实和仿真环境之间的误差,估计现实中机器人的方法与步骤S1所提出的估计目标6D位姿的方法相同,再使用步骤S11中的RGB-D相机构成视觉误差估计器;
Figure SMS_75
Figure SMS_76
其中
Figure SMS_77
,/>
Figure SMS_78
分别表示在现实和仿真中装配目标初始状态的位置;/>
Figure SMS_79
表示现实和仿真之间的平移误差,/>
Figure SMS_80
和/>
Figure SMS_81
分别表示在现实和仿真中姿态;/>
Figure SMS_82
表示现实与仿真之间的姿态误差;
步骤S332:在现实中执行装配任务时,策略在仿真中运行,二者在同一初始状态同时开始运行,由仿真中的状态来控制现实中机器人的状态,同时运行视觉误差估计器解决仿真与现实之间的误差,来实现机器人在现实中完成轴孔装配任务。
优选地,步骤S0具体为:搭建Sawyer(Rethink Robotics智能协作机器人家族推出的应用于金属加工的机器人)机器人装配硬件平台,装配对象被Sawyer机器人末端夹持器夹持,装配目标位置固定在Sawyer机器人的工作空间内,RGB-D相机根据视野固定在机器人上方1.5m的高度。
本发明提供了一种基于视觉示教和虚实迁移的机器人强化学习装配的方法,针对机器人零件装配,设计了一套基于视觉示教、强化学习和虚实迁移的框架,提高了装配策略的训练效率和装配成功率。该方法使用RGB-D相机和结构光光源收集人工装配的示教的图像;通过Yolov5算法对目标进行目标识别和分割;利用相机的内部参数和目标的深度值,得到目标的点云,并对点云进行预处理;通过NICP算法和原始目标点云来得到6D姿态;通过手眼标定将示教轨迹从图像坐标系转换到世界坐标系;搭建虚拟仿真环境,通过示教轨迹来预训练装配策略模型使之具有类似人工装配的运动轨迹;利用物理仿真引擎,在虚拟环境中使用近端策略优化算法再训练装配模型,提高机器人完成装配任务的成功率;通过域随机化来增强装配策略模型的鲁棒性和提高迁移到现实世界的成功率;利用虚拟环境与现实之间的误差关系设计视觉误差估计器,并通过虚拟环境中机器人的状态信息以及视觉误差估计器,实现真实环境下的机器人零件装配任务。
附图说明
图1为本发明的一种基于视觉示教和虚实迁移的机器人强化学习装配的方法的一较佳实施例的流程图;
图2为本发明的一种基于视觉示教和虚实迁移的机器人强化学习装配的方法的一较佳实施例的详细流程图;
图3为本发明的一种基于视觉示教和虚实迁移的机器人强化学习装配的方法的一较佳实施例的机器人装配的硬件平台架构图;
图4为本发明的一种基于视觉示教和虚实迁移的机器人强化学习装配的方法的一较佳实施例的强化学习PPO算法框架图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的问题,提供了一种基于视觉示教和虚实迁移的机器人强化学习装配的方法。
在一个实施例中,如图1及图2所示,一种基于视觉示教和虚实迁移的机器人强化学习装配的方法,方法包括以下步骤:
步骤S0、搭建机器人装配硬件平台,使RGB-D相机可拍摄到装配目标及机器人装配结构;;如图3所示,具体为:搭建Sawyer机器人装配硬件平台,装配对象被Sawyer机器人末端夹持器夹持,装配目标位置固定在Sawyer机器人的工作空间内,RGB-D相机根据视野固定在机器人上方1.5m的高度。
步骤S1、获取装配对象在三维空间中的6D位姿示教轨迹;具体包括:
步骤S11:使用RGB-D相机和结构光拍摄人工装配过程,得到人工装配示教的图像;所述步骤S11包括如下步骤:
步骤S111、准备一个RGB-D相机和结构光光源;
步骤S112、将相机和结构光固定在装配场景的上方,保证相机能拍摄到完整的人工装配场景,此时相机与机器人的关系为“眼在手外”;
步骤S113、用相机拍摄人工完成装配动作,即将装配对象插入装配目标位置。
步骤S12:对目标,即人工装配示教的每张图像中的装配对象,进行识别和分割,通过深度信息和相机内部参数获取点云,估计目标的6D位姿,收集一组6D位姿数据得到装配示教轨迹,并通过手眼标定,将示教轨迹从图像坐标系转移到世界坐标系;
这里示教轨迹为:首先拍摄了整个人工装配过程,这个过程是一帧一帧的图像。然后将每张图像进行目标识别和分割,通过深度信息和相机内部参数获取点云,估计目标的6D位姿。这样将每一张图像处理完之后的一组数据收集起来就是示教轨迹。这个示教轨迹就是装配对象插入装配目标位置的6D位姿变换过程。
所述步骤S12具体为:
使用Yolov5对步骤S11拍摄到的每张图像中的装配对象进行识别和分割;通过深度信息和相机内部参数获取目标的点云数据;使用NICP算法处理点云数据来得到目标的6D位姿;收集一组6D位姿数据得到示教轨迹,即装配对象插入装配目标位置的6D位姿变换过程,将得到的示教轨迹,通过手眼标定得到的旋转平移关系,从图像坐标系转换到世界坐标系;
其中,获取所述图像坐标系和世界坐标系之间的旋转矩阵和平移向量具体为:
Figure SMS_83
Figure SMS_84
其中,
Figure SMS_87
、/>
Figure SMS_89
是目标像素在图像坐标系中的位置,/>
Figure SMS_93
、/>
Figure SMS_85
是图像中心的像素位置;/>
Figure SMS_90
Figure SMS_92
表示每列和每行的长度;/>
Figure SMS_94
是相机的焦距;/>
Figure SMS_86
表示相机坐标系中的位置;
Figure SMS_88
是世界坐标系中位置;/>
Figure SMS_91
是旋转矩阵,/>
Figure SMS_95
是平移向量。
所述步骤S12具体包括如下步骤:
步骤S121:训练一个Yolov5模型,对步骤S11拍摄的人工装配示教的每一张图像中的装配对象进行识别和分割,从每一张图像中截取物体的位置并获得像素位置;
通过深度图像和灰度图像之间的对应关系,得到实例分割生成的目标对象掩膜的深度信息;
步骤S122:利用相机的内部参数和目标的深度值,得到目标的点云,并对点云进行预处理,包括下采样、半径滤波和欧氏聚类;
步骤S123:使用NICP算法处理目标点云数据,得到6D姿态点云;
步骤S124:使用所述手眼标定图像坐标系和世界坐标系之间的旋转矩阵和平移向量,将示教轨迹从图像坐标系转换到世界坐标系。
步骤S2、搭建虚拟仿真环境,通过示教轨迹来预训练装配策略模型使之具有类似人工装配过程的运动轨迹;所述步骤S2具体为:
搭建mujoco虚拟仿真环境,在虚拟仿真环境中用示教轨迹预训练装配策略模型,使机器人装配具有类似人工装配的运动轨迹;具体包括如下步骤:
步骤S21:搭建仿真训练平台,仿真平台基于ROS操作系统和开源三维动态物理仿真模拟器Mujoco构建;
所述步骤S21中所述仿真训练平台具体为:
在仿真环境中构建机器人作为智能体,将带孔零件固定在机器人末端;再建立带有轴孔的底座,将插入用的底座放置在机器人操作的空间范围内;再建立视觉传感器模型。
步骤S22:定义状态空间和动作空间:
Figure SMS_96
其中
Figure SMS_97
即/>
Figure SMS_98
表示/>
Figure SMS_99
时刻机器人末端执行器在世界坐标系中的位置,
Figure SMS_100
即/>
Figure SMS_101
表示/>
Figure SMS_102
时刻机器人末端执行器在世界坐标系中的位移;
步骤S23:定义奖励函数:
Figure SMS_103
Figure SMS_104
其中
Figure SMS_106
表示齿轮的位置,/>
Figure SMS_110
表示齿轮轴的位置,/>
Figure SMS_112
表示/>
Figure SMS_105
时刻的位置和目标位置之间的距离,/>
Figure SMS_109
是一个常数来保证/>
Figure SMS_111
时对数函数有意义,使用对数函数是为了当靠近目标位置时产生更大的奖励,/>
Figure SMS_113
是/>
Figure SMS_107
时刻的奖励;/>
Figure SMS_108
表示奖励偏差常数,用来调整奖励信号的分布和量级;
步骤S24:定义总奖励函数
Figure SMS_114
,当前位置与目标位置之间的距离小于0.02m时,视为装配成功,环境会产生一个奖励/>
Figure SMS_115
,总奖励定义如下:
Figure SMS_116
步骤S25:使用示教轨迹对装配策略模型进行预训练,使装配策略模型具有仿人的装配轨迹,存储机器人在示教轨迹下的状态
Figure SMS_117
、执行的动作/>
Figure SMS_118
、获得的奖励/>
Figure SMS_119
、转移到的下一个状态/>
Figure SMS_120
,这些组成了预训练数据中的状态转移 (transition),存储每一个
Figure SMS_121
,得到预训练后的装配策略模型;
其中s是当前状态,a是智能体采取的动作,r是当前动作产生的奖励,s’是当前动作a发生后的状态。
步骤S3、再训练并优化装配策略模型,提高机器人装配的成功率;具体包括:
步骤S31、利用物理仿真引擎,在虚拟环境中使用近端策略优化算法再训练步骤S2中的装配策略模型,提高机器人完成装配任务的成功率;步骤S31具体包括:
步骤S311:PPO算法使用固定长度的轨迹段,在每次迭代中,收集T个步长的数据,并存储每一个
Figure SMS_122
来计算优势,优势函数估计器定义如下:
Figure SMS_123
Figure SMS_124
其中,
Figure SMS_126
表示[0,T]时间段内t时刻优势的估计值,/>
Figure SMS_128
是奖励的折扣因子,/>
Figure SMS_131
是步骤的折扣系数;/>
Figure SMS_125
表示为在时间步t时的时序差分误差,/>
Figure SMS_129
和/>
Figure SMS_130
表示为在时间步t+1和时间步t的状态值函数估计值,/>
Figure SMS_132
是时间步t的奖励,/>
Figure SMS_127
是时间步t的状态;
步骤S312:定义近端策略优化剪裁的代理目标函数
Figure SMS_133
其中,
Figure SMS_136
是一个超参数,一般/>
Figure SMS_138
,/>
Figure SMS_141
表示期望值运算符,概率比例
Figure SMS_135
表示使用当前策略/>
Figure SMS_140
在状态/>
Figure SMS_143
选择动作/>
Figure SMS_144
的概率与使用未更新参数/>
Figure SMS_134
的策略/>
Figure SMS_139
在状态/>
Figure SMS_142
选择动作/>
Figure SMS_145
的概率之比;/>
Figure SMS_137
为截取函数符号;
步骤S313:剪裁代理目标函数、价值损失函数、熵奖励组成总损失函数来更新策略和价值函数之间共享参数的神经网络架构;总损失函数定义如下:
Figure SMS_146
其中
Figure SMS_148
、/>
Figure SMS_150
是超参数,一般分别设为0.5和0.01,不同的任务和环境可能需要不同的超参数设置来获得最佳性能表现,/>
Figure SMS_154
表示期望值运算符;/>
Figure SMS_149
Figure SMS_151
为智能体使用当前价值网络估计在状态/>
Figure SMS_153
的价值函数,它表示在状态/>
Figure SMS_156
下采取任意动作的预期累积奖励 ;/>
Figure SMS_147
为当前时刻t开始,智能体在接下来的若干个时间步中所能获得的折扣奖励的累积值;/>
Figure SMS_152
为当前策略的熵奖励,用于提高策略的探索性;/>
Figure SMS_155
表示期望值运算符;
步骤S314:使用带有策略网络和价值网络的Actor-Critic PPO算法训练步骤S2中得到的预训练模型,直至每步的奖励的平均值收敛。
步骤S32、通过域随机化来增强装配策略模型的鲁棒性和提高迁移到现实世界的成功率;步骤S32具体为:
在训练的时候给参数和真实位置增加噪声干扰,即通过域随机化来增强训练模型的鲁棒性和从仿真中迁移到现实世界的成功率。
步骤S33、利用虚拟环境与现实之间的误差关系设计视觉误差估计器,并通过虚拟环境中机器人的状态信息以及视觉误差估计器,实现真实环境下的机器人零件装配任务。步骤S33具体为:
步骤S331:在现实和仿真中将机器人移动到相同的初始状态,然后识别并计算现实中机器人的状态,以计算现实和仿真环境之间的误差,估计现实中机器人的方法与步骤S1所提出的估计目标6D位姿的方法相同,再使用步骤S11中的RGB-D相机构成视觉误差估计器;
Figure SMS_157
Figure SMS_158
其中
Figure SMS_159
,/>
Figure SMS_160
分别表示在现实和仿真中装配目标初始状态的位置;/>
Figure SMS_161
表示现实和仿真之间的平移误差,/>
Figure SMS_162
和/>
Figure SMS_163
分别表示在现实和仿真中姿态;/>
Figure SMS_164
表示现实与仿真之间的姿态误差;
计算现实和仿真之间的误差跟获取6D姿态示教轨迹的方法相同。为了获取现实中机器人的状态,与仿真中的机器人状态进行对比。仿真环境可以直接知道仿真机器人状态,现实中机器人的状态得通过步骤S1的方法获取,即拍摄图像,识别检测,结合深度信息获取点云,点云匹配获取6D姿态,将仿真和现实的姿态进行误差计算得到位置和姿态误差关系。
步骤S332:在现实中执行装配任务时,策略在仿真中运行,二者在同一初始状态同时开始运行,由仿真中的状态来控制现实中机器人的状态,即二者是同步进行装配的,仿真中Sawyer机器人运动到一个位姿,现实中的Sawyer机器人会运动到相同的位姿,直到仿真和现实中的齿轮都被插入到轴孔中。尽管两者之间可能会存在误差,通过运行视觉误差估计器解决仿真与现实中的误差,来实现机器人在现实中完成轴孔装配任务。同时运行视觉误差估计器解决仿真与现实之间的误差,来实现机器人在现实中完成轴孔装配任务
与现有技术相比,本发明优点在于:(1)提出了一套基于Yolov5算法和NICP算法来制作人工装配示教数据,通过示教数据预训练装配策略模型,使之具有仿人的装配运动轨迹;(2)将近端策略优化算法用于训练机器人装配策略模型,避免了重复更新模型参数,大大提高了训练效率;(3)本发明针对现实与虚拟仿真环境存在差距导致策略性能下降的问题,采用了域随机化和视觉误差估计器,提高了装配策略模型在现实中执行轴孔装配任务的成功率。
本发明公开了一种基于视觉示教和虚实迁移的机器人强化学习装配的方法,使用RGB-D相机和结构光光源收集人工装配的示教的图像;通过Yolov5算法对目标进行目标识别和分割;利用相机的内部参数和目标的深度值,得到目标的点云,并对点云进行预处理;通过NICP算法和原始目标点云来得到6D姿态;通过手眼标定将示教轨迹从图像坐标系转换到世界坐标系;搭建虚拟仿真环境,通过示教轨迹来预训练装配策略模型使之具有类似人工装配的运动轨迹;利用物理仿真引擎,在虚拟环境中使用近端策略优化算法再训练装配模型,提高机器人完成装配任务的成功率;通过域随机化来增强装配策略模型的鲁棒性和提高迁移到现实世界的成功率;利用虚拟环境与现实之间的误差关系设计视觉误差估计器,并通过虚拟环境中机器人的状态信息以及视觉误差估计器,实现真实环境下的机器人零件装配任务。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种基于视觉示教和虚实迁移的机器人强化学习装配的方法,其特征在于,包括如下步骤:
步骤S0、搭建机器人装配硬件平台,使RGB-D相机可拍摄到装配目标及机器人装配结构;
步骤S1、获取装配对象在三维空间中的6D位姿示教轨迹;具体包括:
步骤S11:使用RGB-D相机和结构光拍摄人工装配过程,得到人工装配示教的图像;
步骤S12:对目标,即人工装配示教的每张图像中的装配对象,进行识别和分割,通过深度信息和相机内部参数获取点云,估计目标的6D位姿,收集一组6D位姿数据得到装配示教轨迹,并通过手眼标定,将示教轨迹从图像坐标系转移到世界坐标系;
步骤S2、搭建虚拟仿真环境,通过示教轨迹来预训练装配策略模型使之具有类似人工装配过程的运动轨迹;
步骤S3、再训练并优化装配策略模型,提高机器人装配的成功率;具体包括:
步骤S31、利用物理仿真引擎,在虚拟环境中使用近端策略优化算法再训练步骤S2中的装配策略模型,提高机器人完成装配任务的成功率;
步骤S32、通过域随机化来增强装配策略模型的鲁棒性和提高迁移到现实世界的成功率;
步骤S33、利用虚拟环境与现实之间的误差关系设计视觉误差估计器,并通过虚拟环境中机器人的状态信息以及视觉误差估计器,实现真实环境下的机器人零件装配任务。
2.根据权利要求1所述的一种基于视觉示教和虚实迁移的机器人强化学习装配的方法,其特征在于,所述步骤S11包括如下步骤:
步骤S111、准备一个RGB-D相机和结构光光源;
步骤S112、将相机和结构光固定在装配场景的上方,保证相机能拍摄到完整的人工装配场景;
步骤S113、用相机拍摄人工完成装配动作,即将装配对象插入装配目标位置。
3.根据权利要求1所述的一种基于视觉示教和虚实迁移的机器人强化学习装配的方法,其特征在于,所述步骤S12具体为:
使用Yolov5对步骤S11拍摄到的每张图像中的装配对象进行识别和分割;通过深度信息和相机内部参数获取目标的点云数据;使用NICP算法处理点云数据来得到目标的6D位姿;收集一组6D位姿数据得到示教轨迹,即装配对象插入装配目标位置的6D位姿变换过程,将得到的示教轨迹,通过手眼标定得到的旋转平移关系,从图像坐标系转换到世界坐标系;
其中,获取所述图像坐标系和世界坐标系之间的旋转矩阵和平移向量具体为:
Figure QLYQS_3
Figure QLYQS_8
其中,/>
Figure QLYQS_11
、/>
Figure QLYQS_2
是目标像素在图像坐标系中的位置,/>
Figure QLYQS_7
、/>
Figure QLYQS_10
是图像中心的像素位置;/>
Figure QLYQS_13
、/>
Figure QLYQS_1
表示每列和每行的长度;/>
Figure QLYQS_5
是相机的焦距;
Figure QLYQS_9
表示相机坐标系中的位置;/>
Figure QLYQS_12
是世界坐标系中位置;/>
Figure QLYQS_4
是旋转矩阵,/>
Figure QLYQS_6
是平移向量。
4.根据权利要求3所述的一种基于视觉示教和虚实迁移的机器人强化学习装配的方法,其特征在于,所述步骤S12具体包括如下步骤:
步骤S121:训练一个Yolov5模型,对步骤S11拍摄的人工装配示教的每一张图像中的装配对象进行识别和分割,从每一张图像中截取物体的位置并获得像素位置;
通过深度图像和灰度图像之间的对应关系,得到实例分割生成的目标对象掩膜的深度信息;
步骤S122:利用相机的内部参数和目标的深度值,得到目标的点云,并对点云进行预处理,包括下采样、半径滤波和欧氏聚类;
步骤S123:使用NICP算法处理目标点云数据,得到6D姿态点云;
步骤S124:使用所述手眼标定图像坐标系和世界坐标系之间的旋转矩阵和平移向量,将示教轨迹从图像坐标系转换到世界坐标系。
5.根据权利要求1所述的一种基于视觉示教和虚实迁移的机器人强化学习装配的方法,其特征在于,所述步骤S2具体为:
搭建mujoco虚拟仿真环境,在虚拟仿真环境中用示教轨迹预训练装配策略模型,使机器人装配具有类似人工装配的运动轨迹;具体包括如下步骤:
步骤S21:搭建仿真训练平台,仿真平台基于ROS操作系统和开源三维动态物理仿真模拟器Mujoco构建;
步骤S22:定义状态空间和动作空间:
Figure QLYQS_14
其中/>
Figure QLYQS_15
即/>
Figure QLYQS_16
表示/>
Figure QLYQS_17
时刻机器人末端执行器在世界坐标系中的位置,
Figure QLYQS_18
即/>
Figure QLYQS_19
表示/>
Figure QLYQS_20
时刻机器人末端执行器在世界坐标系中的位移;
步骤S23:定义奖励函数:
Figure QLYQS_23
Figure QLYQS_26
其中
Figure QLYQS_28
表示齿轮的位置,/>
Figure QLYQS_21
表示齿轮轴的位置,/>
Figure QLYQS_24
表示/>
Figure QLYQS_27
时刻的位置和目标位置之间的距离,/>
Figure QLYQS_30
是一个常数来保证/>
Figure QLYQS_22
时对数函数有意义,使用对数函数是为了当靠近目标位置时产生更大的奖励,/>
Figure QLYQS_25
是/>
Figure QLYQS_29
时刻的奖励;/>
Figure QLYQS_31
表示奖励偏差常数,用来调整奖励信号的分布和量级;
步骤S24:定义总奖励函数
Figure QLYQS_32
,当前位置与目标位置之间的距离小于0.02m时,视为装配成功,环境会产生一个奖励/>
Figure QLYQS_33
,总奖励定义如下:
Figure QLYQS_34
步骤S25:使用示教轨迹对装配策略模型进行预训练,使装配策略模型具有仿人的装配轨迹,存储机器人在示教轨迹下的状态/>
Figure QLYQS_35
、执行的动作/>
Figure QLYQS_36
、获得的奖励/>
Figure QLYQS_37
、转移到的下一个状态/>
Figure QLYQS_38
,这些组成了预训练数据中的状态转移(transition),存储每一个/>
Figure QLYQS_39
,得到预训练后的装配策略模型;
其中s是当前状态,a是智能体采取的动作,r是当前动作产生的奖励,s’是当前动作a发生后的状态。
6.根据权利要求5所述的一种基于视觉示教和虚实迁移的机器人强化学习装配的方法,其特征在于,所述步骤S21中所述仿真训练平台具体为:
在仿真环境中构建机器人作为智能体,将带孔零件固定在机器人末端;再建立带有轴孔的底座,将插入用的底座放置在机器人操作的空间范围内;再建立视觉传感器模型。
7.根据权利要求5所述的一种基于视觉示教和虚实迁移的机器人强化学习装配的方法,其特征在于,步骤S31具体包括:
步骤S311:PPO算法使用固定长度的轨迹段,在每次迭代中,收集T个步长的数据,并存储每一个
Figure QLYQS_40
来计算优势,优势函数估计器定义如下:
Figure QLYQS_43
Figure QLYQS_47
其中,/>
Figure QLYQS_49
表示[0,T]时间段内t时刻优势的估计值,/>
Figure QLYQS_42
是奖励的折扣因子,/>
Figure QLYQS_46
是步骤的折扣系数;/>
Figure QLYQS_48
表示为在时间步t时的时序差分误差,/>
Figure QLYQS_50
和/>
Figure QLYQS_41
表示为在时间步t+1和时间步t的状态值函数估计值,/>
Figure QLYQS_44
是时间步t的奖励,/>
Figure QLYQS_45
是时间步t的状态;
步骤S312:定义近端策略优化剪裁的代理目标函数
Figure QLYQS_51
其中,/>
Figure QLYQS_58
是一个超参数,一般/>
Figure QLYQS_62
,/>
Figure QLYQS_53
表示期望值运算符,概率比例/>
Figure QLYQS_56
表示使用当前策略/>
Figure QLYQS_60
在状态/>
Figure QLYQS_63
选择动作/>
Figure QLYQS_52
的概率与使用未更新参数/>
Figure QLYQS_55
的策略/>
Figure QLYQS_59
在状态/>
Figure QLYQS_61
选择动作/>
Figure QLYQS_54
的概率之比;/>
Figure QLYQS_57
为截取函数符号;
步骤S313:剪裁代理目标函数、价值损失函数、熵奖励组成总损失函数来更新策略和价值函数之间共享参数的神经网络架构;总损失函数定义如下:
Figure QLYQS_64
其中/>
Figure QLYQS_69
、/>
Figure QLYQS_71
是超参数,一般分别设为0.5和0.01,不同的任务和环境可能需要不同的超参数设置来获得最佳性能表现,/>
Figure QLYQS_65
表示期望值运算符;/>
Figure QLYQS_70
,/>
Figure QLYQS_72
为智能体使用当前价值网络估计在状态/>
Figure QLYQS_73
的价值函数,它表示在状态/>
Figure QLYQS_66
下采取任意动作的预期累积奖励 ;/>
Figure QLYQS_67
为当前时刻t开始,智能体在接下来的若干个时间步中所能获得的折扣奖励的累积值;/>
Figure QLYQS_68
为当前策略的熵奖励,用于提高策略的探索性;
步骤S314:使用带有策略网络和价值网络的Actor-Critic PPO算法训练步骤S2中得到的预训练模型,直至每步的奖励的平均值收敛。
8.根据权利要求1所述的一种基于视觉示教和虚实迁移的机器人强化学习装配的方法,其特征在于,步骤S32具体为:
在训练的时候给参数和真实位置增加噪声干扰,即通过域随机化来增强训练模型的鲁棒性和从仿真中迁移到现实世界的成功率。
9.根据权利要求1所述的一种基于视觉示教和虚实迁移的机器人强化学习装配的方法,其特征在于,步骤S33具体为:
步骤S331:在现实和仿真中将机器人移动到相同的初始状态,然后识别并计算现实中机器人的状态,以计算现实和仿真环境之间的误差,估计现实中机器人的方法与步骤S1所提出的估计目标6D位姿的方法相同,再使用步骤S11中的RGB-D相机构成视觉误差估计器;
Figure QLYQS_74
Figure QLYQS_75
其中
Figure QLYQS_76
,/>
Figure QLYQS_77
分别表示在现实和仿真中装配目标初始状态的位置;/>
Figure QLYQS_78
表示现实和仿真之间的平移误差,/>
Figure QLYQS_79
和/>
Figure QLYQS_80
分别表示在现实和仿真中姿态;/>
Figure QLYQS_81
表示现实与仿真之间的姿态误差;
步骤S332:在现实中执行装配任务时,策略在仿真中运行,二者在同一初始状态同时开始运行,由仿真中的状态来控制现实中机器人的状态,同时运行视觉误差估计器解决仿真与现实之间的误差,来实现机器人在现实中完成轴孔装配任务。
10.根据权利要求1所述的一种基于视觉示教和虚实迁移的机器人强化学习装配的方法,其特征在于,步骤S0具体为:搭建Sawyer机器人装配硬件平台,装配对象被Sawyer机器人末端夹持器夹持,装配目标位置固定在Sawyer机器人的工作空间内,RGB-D相机根据视野固定在机器人上方1.5m的高度。
CN202310292031.8A 2023-03-23 2023-03-23 一种基于视觉示教和虚实迁移的机器人强化学习装配的方法 Active CN115990891B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310292031.8A CN115990891B (zh) 2023-03-23 2023-03-23 一种基于视觉示教和虚实迁移的机器人强化学习装配的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310292031.8A CN115990891B (zh) 2023-03-23 2023-03-23 一种基于视觉示教和虚实迁移的机器人强化学习装配的方法

Publications (2)

Publication Number Publication Date
CN115990891A CN115990891A (zh) 2023-04-21
CN115990891B true CN115990891B (zh) 2023-06-16

Family

ID=85995406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310292031.8A Active CN115990891B (zh) 2023-03-23 2023-03-23 一种基于视觉示教和虚实迁移的机器人强化学习装配的方法

Country Status (1)

Country Link
CN (1) CN115990891B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117032283B (zh) * 2023-08-11 2024-10-18 江南大学 一种基于深度强化学习的四足机器人越障控制方法
CN116922403A (zh) * 2023-09-19 2023-10-24 上海摩马智能科技有限公司 基于仿真的视觉反馈智能轨迹实现方法
CN117745719B (zh) * 2024-02-19 2024-04-26 常熟理工学院 一种机器人焊缝铣削轨迹的提取方法
CN118003339B (zh) * 2024-04-08 2024-06-07 广州三拓智能装备有限公司 一种基于人工智能的机器人分拣控制算法
CN118456458B (zh) * 2024-07-15 2024-10-08 长沙矿冶研究院有限责任公司 表面清理机械手的工作程序自动生成方法与系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6458912B1 (ja) * 2018-01-24 2019-01-30 三菱電機株式会社 位置制御装置及び位置制御方法
CN110561450B (zh) * 2019-08-30 2021-09-07 哈尔滨工业大学(深圳) 一种基于动捕的机器人装配离线示例学习系统和方法
CN110991027A (zh) * 2019-11-27 2020-04-10 华南理工大学 一种基于虚拟场景训练的机器人模仿学习方法
CN111251294A (zh) * 2020-01-14 2020-06-09 北京航空航天大学 一种基于视觉位姿感知和深度强化学习的机器人抓取方法
CN111216133B (zh) * 2020-02-05 2022-11-22 广州中国科学院先进技术研究所 一种基于指尖识别和手部运动跟踪的机器人演示编程方法
US11820014B2 (en) * 2020-05-21 2023-11-21 Intrinsic Innovation Llc Simulated local demonstration data for robotic demonstration learning
CN111890350A (zh) * 2020-06-12 2020-11-06 深圳先进技术研究院 机器人及其控制方法、计算机可读存储介质
CN114536346B (zh) * 2022-04-06 2023-04-07 西南交通大学 一种基于人机协作和视觉检测的机械臂精确路径规划方法
CN114800515B (zh) * 2022-05-12 2024-08-02 四川大学 一种基于演示轨迹的机器人装配运动规划方法
CN114789450A (zh) * 2022-06-02 2022-07-26 深慧视(深圳)科技有限公司 一种基于机器视觉的机器人运动轨迹数字孪生方法

Also Published As

Publication number Publication date
CN115990891A (zh) 2023-04-21

Similar Documents

Publication Publication Date Title
CN115990891B (zh) 一种基于视觉示教和虚实迁移的机器人强化学习装配的方法
Chebotar et al. Closing the sim-to-real loop: Adapting simulation randomization with real world experience
US12083678B2 (en) Efficient adaption of robot control policy for new task using meta-learning based on meta-imitation learning and meta-reinforcement learning
CN111203878B (zh) 一种基于视觉模仿的机器人序列任务学习方法
Amor et al. Interaction primitives for human-robot cooperation tasks
Breyer et al. Comparing task simplifications to learn closed-loop object picking using deep reinforcement learning
CN109108942A (zh) 基于视觉实时示教与自适应dmps的机械臂运动控制方法和系统
Sadeghi et al. Sim2real view invariant visual servoing by recurrent control
Yan et al. Sim-to-real transfer of accurate grasping with eye-in-hand observations and continuous control
CN111176309B (zh) 一种基于球面成像的多无人机自组群互感理解方法
CN115551681A (zh) 训练和/或利用用于基于自然语言的机器人控制中的机器学习模型
CN113076615B (zh) 基于对抗式深度强化学习的高鲁棒性机械臂操作方法及系统
CN113281999A (zh) 一种基于强化学习和迁移学习的无人机自主飞行训练方法
CN113011526B (zh) 基于强化学习和无监督学习的机器人技能学习方法及系统
Jin et al. Robot eye-hand coordination learning by watching human demonstrations: a task function approximation approach
CN113119073A (zh) 面向3c装配场景基于计算机视觉及机器学习的机械臂系统
Gutzeit et al. The besman learning platform for automated robot skill learning
Ma et al. An efficient robot precision assembly skill learning framework based on several demonstrations
CN117705113A (zh) 一种改进ppo的无人机视觉避障及自主导航方法
CN115990875A (zh) 一种基于隐空间插值的柔性线缆状态预测与控制系统
da Silva et al. Deep reinforcement learning for a humanoid robot soccer player
Luo et al. Balance between efficient and effective learning: Dense2sparse reward shaping for robot manipulation with environment uncertainty
CN117798919A (zh) 一种基于动态交互表征的灵巧机械手抓取方法
CN116360435A (zh) 基于情节记忆的多智能体协同策略的训练方法和系统
CN115016499A (zh) 一种基于sca-ql的路径规划方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant