CN112045680B - 一种基于行为克隆的布料码垛机器人控制系统及控制方法 - Google Patents
一种基于行为克隆的布料码垛机器人控制系统及控制方法 Download PDFInfo
- Publication number
- CN112045680B CN112045680B CN202010908966.0A CN202010908966A CN112045680B CN 112045680 B CN112045680 B CN 112045680B CN 202010908966 A CN202010908966 A CN 202010908966A CN 112045680 B CN112045680 B CN 112045680B
- Authority
- CN
- China
- Prior art keywords
- cloth
- information
- mechanical arm
- identified
- algorithm
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1687—Assembly, peg and hole, palletising, straight line, weaving pattern movement
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本发明提供一种基于行为克隆的布料码垛机器人控制系统及控制方法,属于布料码垛机器人技术领域,将待识别区域的三维真实位置变换到像素坐标系下的固定位置;基于实例分割算法获取固定位置下待识别区域内的布料单体;获取对布料单体进行人为码垛过程中布料单体的移动轨迹;基于行为克隆算法对移动轨迹进行编码,获得编码信息;根据编码信息获得控制指令,根据控制指令控制机器人的机械臂对布料单体进行码垛。本发明满足了纺织工业人机协作中对固定手眼系统中相机移动的需求,完成了对散乱堆叠布料的实时检测和堆叠整理的工作,实现了对外界码垛行为的克隆,机械臂动作组的自动编码,缩减了任务更换所导致的机械臂动作组的重新编码对时间的浪费。
Description
技术领域
本发明涉及布料码垛机器人技术领域,具体涉及一种基于行为克隆的布料码垛机器人控制系统及控制方法。
背景技术
纺织任务中,难免需要进行人机协同任务,对相机的固定方式及摆放位置有着严苛的要求,且需要相机进行移动,以获取尽可能大的识别区域;布料属于非刚体,无法通过物体检测算法获取布料实例的位姿,且行为克隆算法需要较为精确的布料检测算法及位置感知系统的加持;工业机器人对缝制作业过程中动态多变的环境参数、随机扰动等因素适应性较差,且常规工业机器人作业工艺的开发与调试周期长、效率低、工作量大,灵活度低、算法适应性差。纺织生产过程中,每一次更换纺织任务都需要重新编程机械臂抓取流程以适应不同的布料堆叠顺序及形状。对机械臂的重新编程会消耗大量的人力、时间成本,减缓生产速度,且在布料属于非刚性物体,无法使用物体检测算法直接获取其位置与姿态。
发明内容
本发明的目的在于提供一种基于行为克隆的布料码垛机器人控制系统及控制方法,以解决上述背景技术中存在的至少一项技术问题。
为了实现上述目的,本发明采取了如下技术方案:
一方面,本发明提供一种基于行为克隆的布料码垛机器人控制方法:
将待识别区域的三维真实位置变换到像素坐标系下的固定位置;
基于实例分割算法获取固定位置下待识别区域内的布料单体;
获取对固定位置下待识别区域内的布料单体进行人为码垛过程中布料单体的移动轨迹;
基于行为克隆算法对移动轨迹进行编码,获得编码信息;
根据编码信息获得控制指令,根据控制指令控制机器人的机械臂对布料单体进行码垛。
优选的,基于Apriltag标签获取待识别区域的三维真实位置,并通过仿射变换将三维真实位置变换到像素坐标系下的固定位置;
基于Blend Mask分割算法获取固定位置下待识别区域内布料单体的位置信息,其中,所述位置信息包括布料单体中心点的坐标和布料单体的方向角。
优选的,结合布料单体的中心点的坐标和布料单体的方向角,得到布料单体的空间位置变化信息,基于位置变化信息计算布料单体的移动轨迹;基于行为克隆算法对移动轨迹在时间序列上进行编码,获得移动轨迹的编码信息。
优选的,解码移动轨迹的编码信息获得控制机器人的机械臂对布料单体进行码垛的控制指令。
第二方面,本发明还提供一种基于行为克隆的布料码垛机器人控制系统,包括:
近端图像采集单元,用于采集待识别区域图像信息,并传递给位置变换单元;
位置变换单元,用于将待识别区域的三维真实位置变换到像素坐标系下的固定位置;
单体识别单元,用于基于实例分割算法获取固定位置下待识别区域内的布料单体;
近端图像采集单元,用于获取对固定位置下待识别区域内的布料单体进行人为码垛的图像信息;
移动轨迹计算单元;用于获取人为码垛的图像信息中布料单体的移动轨迹;
编码单元,用于基于行为克隆算法对移动轨迹进行编码,获得移动轨迹的编码信息;
指令计算单元,根据编码信息获得控制指令,根据控制指令控制机器人的机械臂对布料单体进行码垛。
优选的,所述位置变换单元被配置为基于Apriltag标签获取待识别区域的三维真实位置,并通过仿射变换将三维真实位置变换到像素坐标系下的固定位置。
优选的,所述单体识别单元被配置为基于Blend Mask分割算法获取固定位置下待识别区域内布料单体的位置信息;其中,所述位置信息包括布料单体中心点的坐标和布料单体的方向角。
优选的,所述移动轨迹计算单元被配置为结合布料单体的中心点的坐标和布料单体的方向角,得到布料单体的空间位置变化信息,基于位置变化信息计算布料单体的移动轨迹。
优选的,所述编码单元被配置为基于行为克隆算法对移动轨迹在时间序列上进行编码,获得移动轨迹的编码信息。
优选的,所述指令计算单元用于解码移动轨迹的编码信息,获得控制机器人的机械臂对布料单体进行码垛的控制指令。
本发明有益效果:借助Apriltag和仿射变换令机械臂固定手眼系统中的相机可以自由移动;在散乱布料的识别中引入实例分割,识别布料实例的位置与朝向角,同时结合行为克隆算法,实现了对机械臂布料堆叠的自动编码,与行为动作复现;引用深度强化学习从视觉角度上完成布料堆垛,相比传统堆垛方法本设计增加了堆垛精度;将所有需要消耗大量GPU运算资源的算法部署在云服务平台,实现了图像的实时处理。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所述的机器人布料码垛技能模型整体框图。
图2为本发明实施例所述的基于Blend Mask分割算法的图像处理流程图。
图3为本发明实施例所述的机器人布料码垛行为学习训练流程图。
图4为本发明实施例所述的机器臂布料码垛深度学习中奖励值变化曲线示意图。
图5为本发明实施例所述的BlendMask分割算法模型在训练过程中所产生的loss损失变换图。
具体实施方式
下面详细叙述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。
还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件和/或它们的组。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
为便于理解本发明,下面结合附图以具体实施例对本发明作进一步解释说明,且具体实施例并不构成对本发明实施例的限定。
本领域技术人员应该理解,附图只是实施例的示意图,附图中的部件并不一定是实施本发明所必须的。
实施例1
本发明实施例1提供一种人机协同环境下基于行为克隆的布料码垛云基机械臂控制方法。将待识别区域的三维真实位置变换到像素坐标系下的固定位置;基于实例分割算法获取固定位置下待识别区域内的布料单体;获取对固定位置下待识别区域内的布料单体进行人为码垛过程中布料单体的移动轨迹;基于行为克隆算法对移动轨迹进行编码,获得编码信息;根据编码信息获得控制指令,根据控制指令控制机器人的机械臂对布料单体进行码垛。
其中,基于Apriltag标签获取待识别区域的三维真实位置,并通过仿射变换将三维真实位置变换到像素坐标系下的固定位置。基于Blend Mask分割算法获取固定位置下待识别区域内布料单体的位置信息,其中,所述位置信息包括布料单体中心点的坐标和布料单体的方向角。结合布料单体的中心点的坐标和布料单体的方向角,得到布料单体的空间位置变化信息,基于位置变化信息计算布料单体的移动轨迹。基于行为克隆算法对移动轨迹在时间序列上进行编码,获得移动轨迹的编码信息。解码移动轨迹的编码信息获得控制机器人的机械臂对布料单体进行码垛的控制指令。
具体的,本实施例1中,人机协同环境下基于行为克隆的布料码垛云基机械臂控制方法包括:
1、工作台区域的俯视图变换:
为了确保相机的移动不会对识别得到的物体位置产生影响。本实施例中使用Apriltag标签获取工作台的真实位置,并通过仿射变换将工作台所在区域变换到像素坐标系下的固定位置。即,将待识别区域的三维真实位置变换到像素坐标系下的固定位置。
2、基于Blend Mask的行为克隆:
通过实例分割算法获取工作台上散乱摆放的布料的实例范围,通过求解实例mask的最小包围框输出其中心点、尺寸及朝向,在时间序列上编码人类对工作台上摆放布料的的人为码垛行为。然后将该编码送入机械臂工控机完成人类动作的复现。
3、机械臂布料码垛技能学习:
为使机械臂学会布料码垛技能,本实施例通过使用深度强化学习算法,搭建机械臂布料码垛技能学习框架,采用端到端的控制方式、将图像输入转变为机械臂末端执行动作,从而获得机械臂布料码垛作业能力。
本发明实施例1中,工作台区域的俯视图变换具体包括如下方法步骤:
步骤S110:边缘识别:对原始图像的各像素点进行卷积,计算卷积后图像像素点的梯度幅值和梯度方向,提取图像线条并进行非极大值抑制,检测并连接边缘,将边缘二值化,形成边缘轮廓;
步骤S120:四边形检测:运用边缘结构分析确定边缘识别后的图像中的多边形及嵌套关系,根据嵌套关系和多边形的尺度位置信息编码原始图像,确定图像中的四边形;
步骤S130:图像解码:在检测到四边形内部Apriltag标签的标识码有多个矩形时,提取Apriltag标签的三维真实坐标;
步骤S140:位置变换:运用反投影算法,将Apriltag标签的三维真实坐标映射到图像中,获取Apriltag标签在图像中的像素坐标,根据仿射变换算法,将Apriltag标签在图像中的像素坐标变换为俯视图像中的绝对位置,完成工作台的识别定位。
所述步骤S110具体包括:通过高斯核对原始图像的各像素点进行卷积;通过一阶偏导的差商计算卷积后的各像素点梯度幅值和方向;根据幅值对图像的线条进行提取;对梯度幅值进行非极大值抑制,使得边缘的像素点达到最佳值;用双阈值算法检测和连接边缘,将边缘二值化,形成边缘轮廓。
所述对梯度幅值进行非极大值抑制包括:判断每个梯度方向上每个像素点的梯度增幅值是否是局部的极大值;如果像素点的梯度增幅值不是极大值,使用0表示该像素点的灰度值,则将该像素点不作为边缘点保留;如果像素点的梯度增幅值是极大值点,则将该像素点作为边缘点保留。
所述用双阈值算法检测和连接边缘包括:设定两个梯度增幅值阈值,第一阈值TH和第二阈值TL;若图像中的一个像素点的梯度增幅值高于TH,该像素点被保留;若低于TL,则该像素点被去除;若像素点的梯度增幅值介于TH和TL之间,则判断该像素点的8邻域上的空间像素和TH的关系,若空间像素高于TH,则该像素点被保留;若空间像素低于TH,则该像素点被去除。
所述步骤S120具体包括:
步骤S121:不同的边缘赋予不同的编码值,确认多边形的层次关系;从图像起始点开始,编辑边缘的像素,寻找与起始点同类的边缘点,当再一次扫描至起始点时,确认多边形的闭环形成;
步骤S122:切换至下一起始点重复步骤S121,直到所有的二值化的像素点都被遍历;
步骤S123:删除所有边数小于4的多边形,利用多边形凸包寻找算法计算每一个多边形本身的凸包,删除多边形面积与凸包面积的比值超出阈值的多边形,并使用四边形的四个顶点表示四边形。
所述步骤S130具体包括:
Apriltag标签的标识码包括内部6×6区域的有效载荷以及最外层边框;
在检测到最外层边框后,需要检测内部是否具有多个矩形,如果是,则进行解码操作,提取Apriltag标签角点坐标,与标签库进行匹配;判断是否属于标签库,如果是,则返回相应标签的ID和标签在图像中的坐标,如果不是,则认为检测到的四边形不是已有的Apriltag标识码。
如图2所示,本发明实施例1中,基于Blend Mask的行为克隆主要包括:
Blend Mask算法包含检测网络和分掩码分支两个分支,掩码分支包含3个部分,一个预测得分图的底部模块,一个预测实例注意力的顶部模块,以及一个将得分和注意力融合起来的Blend模块。
其中,与其它基于候选框的全卷积网络类似,增加一个底部模块来预测得分图,称之为(基点)bases(B)。B为形状大小前向网络生成的特征图。N是批量规模(batch size),K是bases的个数,H×W是前向特征图输入尺寸,s是得分图输出的步长。使用Deep Lab V3+作为decoder。底部模块的输入作为主干网络特征,与传统的语义分割网络,诸如,YOLACT和全景FPN中的特征金字塔一样。
Blend Mask在每个检测模块之上都附加了一个卷积层,用于预测注意力权重A。这个注意力权重与YOLACT中的掩码系数不同,掩码系数在每个分辨率为Wl×Hl的特征图中,输入的形状为N×K×Hl×Wl,A是一个张量,形状为N×(K·M·M)×Hl×Wl,M×M是注意力图的分辨率。
本发明实施例1中,行为克隆部分继承观察学习的思想,从第三人的角度观看演示,将演示视频片段转化为活动的抽象表示(活动特征)。基于活动特征的不可变性,在不同的观察视角、对象属性、场景背景和机械手形态下,跟随演示中学习任务。所完成的行为克隆任务为复制人类移动布料的过程,解决思路为通过BlendMask分割模型,实时获取布料位置信息,包括中心点坐标和朝向。处理整个行为序列可以得到布料的空间变化信息,基于此信息计算布料的运动轨迹,进而将轨迹转换为机械臂的运动。
如图1所示,机器人布料码垛技能获得框架可以分为机器人模块,感知与控制模块,技能模型、与技能学习。机器人模块具有执行器与传感器,是直接与布料码垛环境交互的模块。感知与控制模块是机器人本体与技能模型之间的中介层,主要用来从提取传感器原始信号中的特征状态变量。技能模型进行决策、规划和预测,产生运动指令经控制模块控制机器人本体运动。技能模型参数的获取通过技能学习实现。
机器人布料码垛实现的关键是技能模型构建与技能参数的学习。技能模型往往分为流程模型、运动模型以及策略模型。考虑到一方面当操作任务复杂时,操作流程往往较为繁琐,难以细致划分,另一方面机器人模块各运动变量存在非线性耦合关系,所以本发明实施例1中,采用端到端的策略模型作为机器人技能获得模型。
策略π是状态s到行动a的一个映射,即a=π(s)。是机器人不断观察当前状态并做出反应行动,从而以闭环的形式执行操作技能。端到端策略将感知和控制模块融合进策略模型中,可以直接将传感器原始信号端作为输入,并将底层机器人执行器的驱动信号端作为输出。解决了高维、复杂、耦合、非线性、连续状态空间下的技能获取。
把深度学习的感知能力与强化学习的决策能力相结合,利用深度强化学习可以使机器人技能获得更接近人类行为。其基本学习过程包括高维度观察的获取与感知、动作的价值评价、策略空间-动作空间的映射、环境与动作交互并产生下一个动作等流程。深度强化学习算法中,采用基于Q值函数离策略(off-policy)获取最优控制策略,深度学习采用多层深度卷积神经网络,通过深度全链接神经网络函数输出动作Q函数。深度强化学习算法框架包含深度卷积网络(策略网络)、深度卷积网络(估值网络)、完全链接神经网络(输出状态动作Q函数)等,输入历史数据并在replay memory中进行训练,以Q学习机制的中的差值作为目标函数,从replay memory中进采样,进行minibatch的梯度求解。
本发明实施例1中,机器人布料码垛实现数学建模如下:
Q学习建模:
设置初始所有Q值都等于0,利用探索(exploration)机制进行权衡,采用epsilon贪婪策略,设定某一随机策略为π,Q(s,a)表征状态s下执行动作a时的Q值函数,α表示学习率,R(s,a)表示表征状态s下执行动作a时获取的即时奖励,λ表示折现率,maxQ′(s,a′)表示新状态下采取所有动作可能获取的最大未来Q值函数,则Q学习更新中,在每一个迭代周期可以更新Q-table中的一个值,单步进行,可以获得完整的Q-table,Q(s,a)函数可以通过Q学习算法来估计,使用Bellman方程不间断迭代地更新Q(s,a)直至学习到完整策略。
DQN建模:
Q-table中的每个数值表征在当前状态s下采用动作a可以获得的未来收益的折现和,通过不断迭代,可以最终使Q-table收敛,从而可以得出在任意状态下的最优策略。采用Bellman方程和epsilon贪婪策略,认为实际应该得到的奖励,目标是使Q值不断接近Q-target。从Q学习的原理可知,其适用范围仅仅局限于状态和动作空间是离散且维数不高时,对于状态和动作空间是高维连续时,实现困难。
基于Q学习来确定loss function并使Q-target值和Q-eval值相差控制最小范围,DQN中的损失函数整体可以通过随机梯度下降方法进行优化。
经验回放机制:
经验池的功能主要是解决相关性及非静态分布问题。具体做法是把每个时间步执行过程中agent与环境交互得到的转移样本储存到回放记忆单元,要训练时就随机拿出一些(minibatch)来训练,此时,Q函数表示为在采用确定性策略μ下选择动作的奖励期望值,在机器人技能学习模型中采用DQN的结构使用Q网络来拟合Q函数。
实施例2
本发明实施例2提供的基于行为克隆算法的布料码垛机器人控制系统,包括:近端图像采集单元,用于采集待识别区域图像信息,并传递给位置变换单元;位置变换单元,用于将待识别区域的三维真实位置变换到像素坐标系下的固定位置;单体识别单元,用于基于实例分割算法获取固定位置下待识别区域内的布料单体;近端图像采集单元,用于获取对固定位置下待识别区域内的布料单体进行人为码垛的图像信息;移动轨迹计算单元;用于获取人为码垛的图像信息中布料单体的移动轨迹;编码单元,用于基于行为克隆算法对移动轨迹进行编码,获得移动轨迹的编码信息;指令计算单元,根据编码信息获得控制指令,根据控制指令控制机器人的机械臂对布料单体进行码垛。所述位置变换单元被配置为基于Apriltag标签获取待识别区域的三维真实位置,并通过仿射变换将三维真实位置变换到像素坐标系下的固定位置。
所述单体识别单元被配置为基于Blend Mask分割算法获取固定位置下待识别区域内布料单体的位置信息;其中,所述位置信息包括布料单体中心点的坐标和布料单体的方向角。所述移动轨迹计算单元被配置为结合布料单体的中心点的坐标和布料单体的方向角,得到布料单体的空间位置变化信息,基于位置变化信息计算布料单体的移动轨迹。
所述编码单元被配置为基于行为克隆算法对移动轨迹在时间序列上进行编码,获得移动轨迹的编码信息。所述指令计算单元用于解码移动轨迹的编码信息,获得控制机器人的机械臂对布料单体进行码垛的控制指令。
具体的,本发明实施例2中,将上述系统转化为具体的硬件组成,包括由五部分组成:相机,云平台服务器,机械臂控制计算机、UR5e协作机械臂、气动柔喙夹爪。
近端相机(近端图像采集单元)获取图像后输入到机械臂控制工控机,进行仿射变换后上传数据到云平台端进行实例分割。然后将机械臂需要抓取的实例目标下载到机械臂控制工控机,通过深度强化学习算法完成机械臂的抓取与投放。
远端相机(远端图像采集单元)获取操作者的动作,上传到云平台服务器,进行实例分割和行为克隆,向机械臂工控机传输抓取的目标的位置、朝向角度、大小等信息。
本发明实施例2中的相机选用Inter Realsense 435i摄像头模组,用来感知视觉信息,该相机可以输出1920*1080分辨率的彩色图像和分辨率为1280*720的深度图像,并且配有IMU惯性模块,帧率可达20帧,采用USB3.0 Type-C接口与机械臂控制工控机进行连接。仅采用RGB信息,像素设置为1920*1080,主要用于感知机械臂工作平台上的视觉信息和人类的行为模式。
远端相机与近端相机都由机械臂端的Inter Realsense 435i所实现。借由云平台的优势,远端相机可以部署在工作台区域以外的地方,以实现操作者在远端教授机械臂学习布料堆叠的过程。
本发明实施例2中,云平台的部署包括:数据流涵盖相机数据采集,图像实体分割/强化学习动作模仿,图像实体位姿变换,机械臂控制四个环节。其中深度学习预测模型,位姿变换和机械控制都在云平台完成。云平台各种服务间采用分布式内存数据库作为消息总线,完成服务分发功能。
采集的图像和视频数据,通过HTTP协议上传到云端数据采集服务进程。HTTP是基于文本的解析协议,天然支持自定义命令,完成协议扩展。机械臂控制信息的下发,则通过机械臂SDK下发到终端。
以布料抓取过程为例,数据采集服务根据需要将数据写入数据总线,并触发下游任务,比如体分割的图像数据写入Blend Mask模型进程,触发实体分割任务;分割完成后,各实体的识别数据再次推送到数据总线;实体位姿变换服务获取到实体数据后,将实体数据转换成机械臂控制信息;机械臂控制服务从数据总线获取到控制信息后,进一步将其转化为控制信号,通过机械臂控制SDK实现机械臂远程控制。
本发明实施例2中,采用UR 5e系列机械臂。该机械臂功耗250w,有效荷载5千克,工作半径850mm,工有六个自由度,重复定位精度-/+0.03mm。本文通过TCP/IP协议利用socket进行数据通讯,利用urx Python功能包进行运动控制。
机械臂末端配置六个气动柔喙夹爪,由压缩空气驱动,输入气压0.45~1Mpa,输出气压-70~120kPa,可通过遥控控制。额定电压24VDC,额定功率36W,采用I/O,24VDC电平信号控制。正压流量140L/min,负压流量25L/min。
本实施例2中,机械臂端工控机操作系统为64位Windows 10专业版,处理器采用Intel i7-9700k,频率3.6GHz,运行内存(RAM)16GB,硬盘存储为固态256G+1T机械硬盘,显卡为NVIDIA GeForce RTX 2070。
本实施例2中,使用服务器搭载i7 8700k CPU,三块GTX1080Ti GPU,运行ubuntu服务器版系统作为云平台服务器。
本发明实施例2中,基于上述部署的云平台服务器,对图像视频数据进行处理时,其处理的准确率和精度是整个抓取过程顺利进行的保证
如图2所示,首先,摄像头获取图像,使用仿射变换得到俯视视角下的布料分布图;然后,在俯视图的基础上,使用BlendMask算法,获取分割图;随后,最小包围框算法将计算每一个布料的中心点坐标(x,y)和旋转角θ,送入行为识别模块,编码人类行为的动作执行过程,输出到机械臂完成动作复现,用已完成抓取任务。
如图3所示,基于深度强化学习的机器人布料码垛模型学习流程包括环境图像数据预处理过程、网络训练过程、布料码垛测试等过程。
首先,数据预处理过程对机器人模块传感器采集到的图像数据与位置数据进行滤波处理,然后将处理后的布料位置信息与机器动作信息分类输入深度学习网络,进行特征选择。其次将选择后的特征一方面输入DDON网络的主网络中,作为训练数据,另一方面将特征作为一组经验存入经验池,作为DDQN网络的先验知识。随后进行网络训练,DDQN网络共设置1000个episode,每个episode过程通过利用特征数据进行损失函数梯度计算更新主网络参数,每迭代200个episode后将主网络的参数复制给目标网络,实现目标网络参数更新,完成所有网络训练步后将目标网络作为模型进行保存输出。最终,将机器人模块传感器采集到的图像数据与位置数据输入模型,模型输出布料码垛动作,完成机器人布料码垛任务。
系统性能测试实验:
相机获取原始图像后,检测贴在桌面四角的Apriltag标签,并使用标签的位置信息计算仿射矩阵,完成图像的仿射变换。
然后将仿射变换后的图像上传到云服务器,进行实例分割,获取图像的位置及朝向,并将实例信息返回到机械臂工控机完成实例信息的抓取,并将实例移动到设定的码垛位置,重复上述步骤完成布料的码垛,布料码垛。
基于AprilTag码的仿射变换误差分析实验:
首先通过相机拍摄到场景原图,然后识别定位场景中黏贴在桌子四个角上的AprilTag码,其中四个AprilTag码的标签分别为0(左上),1(左下),2(右下),3(右上)。最后结合AprilTag码,利用仿射变化实现图像校正。
通过测量实际四个AprilTag码的距离,计算仿射变换后AprilTag码中心点的像素值坐标,结合每个像素值代表实际物理值距离1mm的变化关系,测试仿射变化实验误差,结果如表5-1所示
表5-1仿射变化实验误差
机械臂移动误差分析实验:
机械臂移动误差通常包含有机械臂本体误差、机械臂手眼标定误差和测试真值测量误差。首先对机械臂和相机进行手眼标定,在相机视场下拍摄15张不同姿态标定板照片,计算相机的内部参数:焦距及光心;相机到机械臂的外部参数:旋转矩阵和平移矩阵。跟据标定工具的误差输出,可以得到机械臂到相机的外参误差,如表5-2所示:
表5-2标定参数结果
为确保机械臂布料码垛的准确性,本文设计实验指定工作台上左上、左中、左下、中上、中中、中下、右上、右中、右下9个点,使用mm精度尺子确定这9个点的真实位置,并将手眼标定后的机械臂移动到该指定点。通过机械臂的到达位置和该点的真实位置的误差,分析机械臂的移动误差。
在本实验中,布料厚度可以忽略,研究工作主要针对工作台平面展开,机械臂运动环境被限制于一个水平面。因此,在此部分仅考虑工作台平面x,y轴上的机械臂运动误差,机械臂运动误差如表5-3所示。
表5-3机械臂运动误差
先后测量三种布料上下两层单布料的中心点与旋转角度,计算得到机械臂码垛最终状态误差如表5-4所示:
表5-4机械臂布料码垛误差
由表5-3与表5-4可得机械臂理论计算值与实际检测值误差小于0.5mm,布料堆叠小于1mm,旋转角度小于1rad,满足作业要求。误差存在原因:一方面是相机在畸变矫正过程中存在微小的矫正误差,另一方面位置到达探针在安装过程中,本身具有非垂直偏差。
强化学习布料堆垛学习误差分析实验:
在实验的布料堆叠工作中,深度强化学习网络结构采用具有100层隐藏层的全连接网络。经验池大小为2000,训练batch为64,学习率为1,折扣因子为0.95,模型更新频率为200,共1000episode。
由图4所示的训练结果可以看出,网络在第200个episode后才真正开始训练。机械臂通过200个episode探索收集环境后,累计动作奖励值提高7分,到第800个episode时,累计奖励值趋于稳定收敛,模型获取较好的训练效果。
针对前200个episode奖励函数较低的情况,可能是由于前期机械臂采用随机动作积攒经验值,动作奖励值处于较低水平。针对该现象可以考虑后期加入人工示教的先验知识,提高前期环境探索的有效性。
在整体的训练过程中,平均奖励值曲线处于负数。原因可能是奖励函数设置离散,针对该现象后期可以考虑通过分段奖励函数或者符号奖励机制。
基于BlendMask的观察学习误差分析实验:
图像标注误差:训练BlendMask模型所使用的数据集均为手工标定,所用工具为VIA标注助手,因此在数据集中存在标注错误的样例,会对模型的训练过程产生负面影响。
模型误差:送入BlendMask分割算法的图像是经过放射变换的摄像头拍摄的图像,因此整个模型的误差受放射变换误差的影响,且BlendMask模型本身存在检测误差。在运行BlendMask模型过程中,batchsize大小设为10,学习率为0.0025,最大迭代步数为600步,在训练过程中所产生的loss损失变换图如图5所示。该损失值包含类别损失、包围框损失、像素损失等,由图5可以看出,通过逐次的迭代,训练的损失逐步下降趋于稳定,算法可以完成图像分割工作。
综上所述,本发明实施例所述的基于行为克隆的布料码垛机器人控制系统及控制方法,通过识别工作台上Apriltag标签的位置,将工作台区域仿射变换到像素坐标系的固定位置。然后使用实例分割获取图像中所有实例的位置、尺度、偏航角等信息,通过深度强化学习完成布料的堆垛。基于实例分割设计了行为克隆算法,在时间上对人类行为改变的环境信息进行编码,并将其传输到工控机控制机械臂对此人类行为进行复现。所有对GPU算力有较高要求的算法军部署在实验室的云服务器上,以此实现对图像分割、行为克隆等算法的实时运算。
满足了纺织工业人机协作中对固定手眼系统中相机移动的需求。完成了对散乱堆叠布料的实时检测和堆叠整理的工作。实现了对人类行为的克隆,完成机械臂动作组的自动编码,缩减了生产线中布料堆叠任务更换,所导致的机械臂动作组的重新编码对时间的浪费。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本发明公开的技术方案的基础上,本领域技术人员在不需要付出创造性劳动即可做出的各种修改或变形,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种基于行为克隆的布料码垛机器人控制方法,其特征在于:
将待识别区域的三维真实位置变换到像素坐标系下的固定位置;
基于实例分割算法获取固定位置下待识别区域内的布料单体;具体地,基于BlendMask分割算法获取固定位置下待识别区域内布料单体的位置信息,其中,所述位置信息包括布料单体中心点的坐标和布料单体的方向角;
获取对固定位置下待识别区域内的布料单体进行人为码垛过程中布料单体的移动轨迹;具体地,结合布料单体的中心点的坐标和布料单体的方向角,得到布料单体的空间位置变化信息,基于位置变化信息计算布料单体的移动轨迹;
基于行为克隆算法对移动轨迹进行编码,获得编码信息;
根据编码信息获得控制指令,根据控制指令控制机器人的机械臂对布料单体进行码垛;具体地,利用深度强化学习算法搭建机械臂布料码垛技能学习框架,采用端到端的控制方式,将图像输入转变为机械臂末端执行动作,其中,在深度强化学习算法中,基于离策略获取最优控制策略。
2.根据权利要求1所述的基于行为克隆的布料码垛机器人控制方法,其特征在于:
基于Apriltag标签获取待识别区域的三维真实位置,并通过仿射变换将三维真实位置变换到像素坐标系下的固定位置。
3.根据权利要求2所述的基于行为克隆的布料码垛机器人控制方法,其特征在于:
基于行为克隆算法对移动轨迹在时间序列上进行编码,获得移动轨迹的编码信息。
4.根据权利要求3所述的基于行为克隆的布料码垛机器人控制方法,其特征在于:
解码移动轨迹的编码信息获得控制机器人的机械臂对布料单体进行码垛的控制指令。
5.一种基于行为克隆的布料码垛机器人控制系统,其特征在于,包括:
近端图像采集单元,用于采集待识别区域图像信息,并传递给位置变换单元;
位置变换单元,用于将待识别区域的三维真实位置变换到像素坐标系下的固定位置;
单体识别单元,用于基于实例分割算法获取固定位置下待识别区域内的布料单体;具体地,基于Blend Mask分割算法获取固定位置下待识别区域内布料单体的位置信息;其中,所述位置信息包括布料单体中心点的坐标和布料单体的方向角;
近端图像采集单元,用于获取对固定位置下待识别区域内的布料单体进行人为码垛的图像信息;
移动轨迹计算单元;用于获取人为码垛的图像信息中布料单体的移动轨迹;具体地,结合布料单体的中心点的坐标和布料单体的方向角,得到布料单体的空间位置变化信息,基于位置变化信息计算布料单体的移动轨迹;
编码单元,用于基于行为克隆算法对移动轨迹进行编码,获得移动轨迹的编码信息;
指令计算单元,根据编码信息获得控制指令,根据控制指令控制机器人的机械臂对布料单体进行码垛;具体地,利用深度强化学习算法搭建机械臂布料码垛技能学习框架,采用端到端的控制方式,将图像输入转变为机械臂末端执行动作,其中,在深度强化学习算法中,基于离策略获取最优控制策略。
6.根据权利要求5所述的基于行为克隆的布料码垛机器人控制系统,其特征在于:
所述位置变换单元被配置为基于Apriltag标签获取待识别区域的三维真实位置,并通过仿射变换将三维真实位置变换到像素坐标系下的固定位置。
7.根据权利要求5所述的基于行为克隆的布料码垛机器人控制系统,其特征在于:
所述编码单元被配置为基于行为克隆算法对移动轨迹在时间序列上进行编码,获得移动轨迹的编码信息。
8.根据权利要求7所述的基于行为克隆的布料码垛机器人控制系统,其特征在于:
所述指令计算单元用于解码移动轨迹的编码信息,获得控制机器人的机械臂对布料单体进行码垛的控制指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010908966.0A CN112045680B (zh) | 2020-09-02 | 2020-09-02 | 一种基于行为克隆的布料码垛机器人控制系统及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010908966.0A CN112045680B (zh) | 2020-09-02 | 2020-09-02 | 一种基于行为克隆的布料码垛机器人控制系统及控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112045680A CN112045680A (zh) | 2020-12-08 |
CN112045680B true CN112045680B (zh) | 2022-03-04 |
Family
ID=73607319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010908966.0A Active CN112045680B (zh) | 2020-09-02 | 2020-09-02 | 一种基于行为克隆的布料码垛机器人控制系统及控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112045680B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113160075A (zh) * | 2021-03-30 | 2021-07-23 | 武汉数字化设计与制造创新中心有限公司 | Apriltag视觉定位的加工方法、系统、爬壁机器人及存储介质 |
CN113129108B (zh) * | 2021-04-26 | 2023-05-30 | 山东大学 | 基于Double DQN算法的产品推荐方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107390703A (zh) * | 2017-09-12 | 2017-11-24 | 北京创享高科科技有限公司 | 一种智能化导盲机器人及其导盲方法 |
WO2019127063A1 (en) * | 2017-12-27 | 2019-07-04 | Intel Corporation | Reinforcement learning for human robot interaction |
CN110152938A (zh) * | 2019-04-02 | 2019-08-23 | 华中科技大学 | 一种元器件点胶轨迹提取方法及自动控制机器人系统 |
CN111203878A (zh) * | 2020-01-14 | 2020-05-29 | 北京航空航天大学 | 一种基于视觉模仿的机器人序列任务学习方法 |
CN111216133A (zh) * | 2020-02-05 | 2020-06-02 | 广州中国科学院先进技术研究所 | 一种基于指尖识别和手部运动跟踪的机器人演示编程方法 |
CN111275063A (zh) * | 2018-12-04 | 2020-06-12 | 广州中国科学院先进技术研究所 | 一种基于3d视觉的机器人智能抓取控制方法及系统 |
-
2020
- 2020-09-02 CN CN202010908966.0A patent/CN112045680B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107390703A (zh) * | 2017-09-12 | 2017-11-24 | 北京创享高科科技有限公司 | 一种智能化导盲机器人及其导盲方法 |
WO2019127063A1 (en) * | 2017-12-27 | 2019-07-04 | Intel Corporation | Reinforcement learning for human robot interaction |
CN111275063A (zh) * | 2018-12-04 | 2020-06-12 | 广州中国科学院先进技术研究所 | 一种基于3d视觉的机器人智能抓取控制方法及系统 |
CN110152938A (zh) * | 2019-04-02 | 2019-08-23 | 华中科技大学 | 一种元器件点胶轨迹提取方法及自动控制机器人系统 |
CN111203878A (zh) * | 2020-01-14 | 2020-05-29 | 北京航空航天大学 | 一种基于视觉模仿的机器人序列任务学习方法 |
CN111216133A (zh) * | 2020-02-05 | 2020-06-02 | 广州中国科学院先进技术研究所 | 一种基于指尖识别和手部运动跟踪的机器人演示编程方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112045680A (zh) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110322510B (zh) | 一种利用轮廓信息的6d位姿估计方法 | |
CN111203878B (zh) | 一种基于视觉模仿的机器人序列任务学习方法 | |
CN111079561A (zh) | 一种基于虚拟训练的机器人智能抓取方法 | |
CN111598951B (zh) | 一种识别空间目标的方法、装置和存储介质 | |
Ribeiro et al. | Real-time deep learning approach to visual servo control and grasp detection for autonomous robotic manipulation | |
CN111695562B (zh) | 一种基于卷积神经网络的机器人自主抓取方法 | |
Breyer et al. | Comparing task simplifications to learn closed-loop object picking using deep reinforcement learning | |
CN112045680B (zh) | 一种基于行为克隆的布料码垛机器人控制系统及控制方法 | |
CN109807887B (zh) | 基于深度神经网络的柔性臂智能感知与控制方法和系统 | |
CN114918918B (zh) | 一种含领域自适应的机器人乱序目标推抓方法 | |
Zhang et al. | A CNN-based grasp planning method for random picking of unknown objects with a vacuum gripper | |
CN112947458B (zh) | 基于多模态信息的机器人准确抓取方法及计算机可读介质 | |
Mayer et al. | FFHNet: Generating multi-fingered robotic grasps for unknown objects in real-time | |
CN112949452A (zh) | 一种基于多任务共享网络的机器人弱光环境抓取检测方法 | |
CN111152227A (zh) | 一种基于引导式dqn控制的机械臂控制方法 | |
US20220402125A1 (en) | System and method for determining a grasping hand model | |
Li et al. | Development of a robot system for applying putty on plastered walls | |
CN112975968B (zh) | 基于第三视角可变主体演示视频的机械臂模仿学习方法 | |
Liu et al. | Sim-and-real reinforcement learning for manipulation: A consensus-based approach | |
Liu et al. | $\alpha $-MDF: An Attention-based Multimodal Differentiable Filter for Robot State Estimation | |
CN113119073A (zh) | 面向3c装配场景基于计算机视觉及机器学习的机械臂系统 | |
CN115219492B (zh) | 一种三维物体的外观图像采集方法及装置 | |
US20220032468A1 (en) | Robotic drawing | |
CN116852347A (zh) | 一种面向非合作目标自主抓取的状态估计与决策控制方法 | |
CN116079727A (zh) | 基于3d人体姿态估计的人形机器人动作模仿方法及装置 |
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 |