基于人机合作的核运维机器人轴孔装配研究

2022-06-28 17:46刘满禄徐冬苓
制造业自动化 2022年6期
关键词:销钉主从核电厂

宋 宇,胡 莉,刘满禄,2*,张 华,徐冬苓

(1.西南科技大学 信息工程学院,绵阳 621000;2.中国科技大学 信息科学技术学院,合肥 230026;3.上海核工程研究设计院有限公司,上海 200233)

0 引言

随着我国核能发电、军用核动力装置、辐照产业的广泛开展[1,2],在放射性环境下采用机器人代替人进入核电厂等涉核设施内部对设备进行维修、检查等操作具有广阔的应用前景[3,4]。机器人在核电厂等涉核设施内部工作时,需要完成大量诸如轴孔装配这类的高精度装配任务。轴孔装配是一个复杂的装配过程,由于零件普遍存在加工误差,使得轴孔装配在孔内只能使用较小的位姿进行调整,在装配精度上有较高的要求。传统的轴孔装配任务中,机器人与环境的接触环境较为稳定,一旦在未知环境中面临不确定因素,机器人的适应性就会变得很差,机器人处理核电厂这类未构造的复杂环境的能力受限。因此,研究如何让机器人在核电厂这类未构造的环境中完成高精度轴孔装配任务具有深刻的现实意义。

在CAP1400示范工程项目中,核电厂部分系统采用了特殊的布置和设备设计,堆腔底部的堆外核测探测器安装作业空间狭小,需要利用专用工具把探测器安装在仪器井内部,并通过销钉固定,涉及的轴孔装配操作步骤比较繁琐,直接依靠人工的工作强度很大,且堆腔底部辐照剂量非常高。本文重点考虑核电厂堆外核测探测器安装过程中,探测器与仪器井的轴孔柔顺装配问题,研究利用主从遥操作机械臂进行轴孔装配的关键策略。核电厂堆外核测探测器轴孔装配环境如图1所示。

图1 核电厂堆外核测探测器轴孔装配环境

核电厂堆外核测探测器所处环境较为复杂且狭小,使用传统的控制方法并不能很好的完成轴孔装配任务。传统的控制方式是使用称为“示教器”的控制箱定义机器人运动的关键位置和动作来执行装配任务[5,6],但是这种在线编程的方式通常需要消耗大量的时间,即使在完成编程后,由于生产环境的改变,仍然需要花费很长时间来调整用于将机器人部署在新环境的参数,因此并不适用于核电厂环境下的轴孔装配任务。另一种常见的控制方式是基于视觉传感器完成装配任务[7,8],这种控制方式需要测量销钉和孔之间的位置和方向。但是,在许多实际的装配任务中,孔的位置和方向通常是难以通过视觉传感器准确测量的,位置误差或部分遮挡而产生的较大接触力将导致装配过程失败,所以这种基于视觉传感器的装配方法难以成功完成装配任务。

深度强化学习算法(deep reinforcement learning,DRL)作为一种新兴的通用人工智能算法技术,在游戏、机器人控制等领域被大量使用[9],是人工智能迈向智能决策的重要一步。将具有良好适应性和鲁棒性的DRL应用在机器人轴孔装配任务中,可以有效提升机器人轴孔装配的精度。Luo J等人[10]将机器人手腕传感器的扭矩测量结果合并为两个部分,将其集成到策略网络学习过程中,并在与神经网络耦合的导纳控制器中使用,这使得机器人可以学习接触环境复杂的装配任务,而无需精确的关节力矩控制。Hou Z等人[11]提出了一种基于模型的深度确定性策略梯度算法,用来学习解决多孔轴孔装配问题的通用装配策略,为了在真实环境的组装任务中实现快速学习过程,在策略搜索阶段,采用了一种混合探索策略驱动的探索方式。Inoue T等人[12]提出了一种高精度轴孔装配策略,通过训练带有强化学习的长短期记忆网络学习两种单独的装配策略来完成紧密间隙的轴孔装配任务。以上方法虽然能够实现部分典型环境、对象、状态的轴孔装配任务,但针对核电厂这类具有工作环境复杂、辐射剂量较高等特征对象的轴孔装配任务难以广泛应用。

为降低运维人员所受辐射剂量,提高运维效率,本文提出一种基于人机合作的核运维机器人轴孔装配方法。在堆外核测探测器安装流程中引入机器人自主控制技术,但所有作业必须在有人监控的前提下进行,即“遥操作+局部自主”。把机器人智能跟人的智能充分结合起来:利用人的经验知识完成轴孔装配的寻孔任务,增强操作过程的可靠性,保证风险可控;同时,利用DRL算法使机器人在局部区域自主完成销钉的插入任务。

1 问题描述

根据核运维机器人在核电厂环境中的运行特点,将轴孔装配任务分为搜索阶段和插入阶段:

1)搜索阶段:主端机械臂控制夹持住销钉的从端机械臂进行寻孔,将销钉放置在孔的中心位置(允许误差内)。

2)插入阶段:从端机械臂依据力反馈信息实时调整销钉的位置和方向,驱动销钉插入孔中。

1.1 搜索阶段

核电厂堆腔底部的堆外核测探测器安装作业空间狭小,且安装环境中其他设备较为精密,不能发生碰撞,机器人自主完成搜索阶段的寻孔任务难度较大,需要借助人工辅助搜索的方式完成。主端机械臂通过操作空间映射算法控制从端机械臂将由末端夹持器夹持住的销钉移动到孔的周围,需要说明的是,从端机械臂每次都是以相同的姿态夹持销钉相同的位置。然后再控制销钉与孔端面接触,基于力反馈信息对销钉进行平移,当力反馈数据为0时,销钉到达孔的中心位置。搜索阶段寻孔模型如图2所示。

图2 搜索阶段寻孔模型

1.2 插入阶段

在核电厂探测器与仪器井的轴孔装配任务中,销钉和孔之间的间隙很小,通常只有10微米,对于操作人员来说是极其困难的。对于机器人来说,完成比自身位置精度更小的插入任务也是非常困难的。因此,机器人需要采用基于力矩传感器信息的DRL算法自主完成精确的插入任务。

2 基于人机合作的机器人轴孔装配算法

根据对于核运维机器人轴孔装配任务的问题描述,轴孔装配的作业流程如下图3所示。在搜索阶段建立主从机械臂控制系统,实现异构遥操作控制,将销钉放置在孔的中心位置。在插入阶段基于DRL算法模型,以从端机械臂末端的力反馈和销钉位姿两种信息为依据构建马尔科夫决策过程,通过训练得到从端机械臂当前状态与动作的映射关系从而获取最优控制策略,依据力反馈信息实时调整销钉的位置和方向,推动销钉插入孔中。

图3 轴孔装配流程图

2.1 搜索阶段模型建立

在核运维机器人轴孔装配任务中,主端机械臂和从端机械臂是异构系统,通过关节空间映射的方法建立主从机械臂各关节之间的控制系统将非常复杂[13],而采用操作空间映射的方法,将主端机械臂末端的位姿通过操作空间映射算法映射到从端机械臂末端的位姿可以解决这一问题。

由于核电厂堆腔底部的堆外核测探测器安装作业空间是不规则的,因此在进行操作空间映射时需要对主从机械臂的操作空间进行限定,设主从机械臂末端在三维空间中的操作范围为pmd∈[pmdmin,pmdmax]和psd∈[psdmin,psdmax],d分别取x,y,z方向,pmd与psd分别为主从机械臂末端在某一方向的位置分量。主从机械臂操作空间映射算法如图4所示。

图4 主从异构机械臂操作空间映射示意图

在t时刻时,主从机械臂末端执行器空间位置分别为pm(t)=(pmx(t),pmy(t),pmz(t))T,ps(t)=(psx(t),psy(t),psz(t))T,映射关系如式(1)所示:

通过式(1)得到从端机械臂末端在工作空间中的位置ps,根据逆运动学可以计算出一组关节角作为输入传递到从端机械臂的编码器中,进而实现主从机械臂的跟随控制。

2.2 插入阶段模型建立

可以将核运维机器人轴孔装配任务的插入阶段公式化为一个马尔可夫决策过程模型(markov decision process,MDP)。MDP作为强化学习的基本框架,由一个四元组构成,即(S,A,Psa,R),其中S为状态空间集,A为动作空间集,Psa为状态转移概率,R为奖励函数。在插入阶段,从端机械臂作为强化学习中的智能体,当从端机械臂执行某个动作后,装配环境将会转到一个新的状态。对于该新的状态,装配环境会给出一个奖励信号(正向奖励或者负向奖励)。智能体根据新的状态和装配环境反馈的奖励信号,按照一定的策略执行新的动作。智能体学习的目标就是学会将状态映射到动作从而求得从端机械臂控制的最优策略μ*。

核运维机器人轴孔装配任务的插入阶段是一个连续动作过程,常见的面向离散控制任务的DRL算法——深度Q网络[14,15](deep Q-network,DQN)并不适用,因此本文使用可应用于连续型动作的深度确定性策略梯度网络[16](deep deterministic policy gradient algorithms,DDPG)。

从端机械臂的状态空间定义为:

其中,F和M分别表示力矩传感器返回的力和力矩;P和R分别表示根据正运动学从从端机械臂编码器测量的关节角度计算出的由末端夹持器夹持的销钉的位置和方向。下标x,y,z表示从端机械臂末端坐标轴的方向。

从端机械臂的动作空间定义为:

其中,Pd是销钉的位置,Rd是销钉的方向,根据逆运动学计算出一组关节角作为输入传递到从端机械臂的编码器中。

强化学习算法通过使累积奖励最大化来学习机器人装配策略:

其中,γ是折扣因子,是介于[0,1]的常数;rk是分配给每个状态-动作对的即时奖励;k是步数的索引;n是一个回合的总步数。

机器人轴孔装配的插入阶段从开始到结束的过程称为一个回合。在本文提出的算法中,我们仅在每个回合的最后一步计算一个奖励r。如果装配成功,则会向网络提供一个正向奖励:

其中,c为常数;k是装配完成时的实际步数;kmax是一个回合的最大步数。

本文提出的算法目标是使用最少的步数完成装配任务,如果不能在kmax内完成任务,则会向网络提供一个负向奖励:

其中,D是孔的深度,dt是时间步长t时销钉插入孔的深度。

2.3 网络结构和网络训练

在DDPG算法中,将深度神经网络与确定性策略梯度(deterministic policy gradient,DPG)算法进行融合,并使用演说家-评论家(actor-critic,AC)算法作为该算法的基本框架。分别使用参数为μθ的策略网络来表示确定性行为策略a=μ(s|θμ),输入为当前的状态s,输出确定性的动作值a;使用参数为θQ的价值网络来表示动作值函数Q(s,a|θQ),用于求解贝尔曼方程。DDPG算法框架满足强化学习的马尔可夫决策过程,actor和critic为智能体的内容,其中actor负责策略网络,critic负责价值网络。通过智能体与环境进行交互的过程,把交互所产生的样本存储在经验池中,下一时间步从经验池中随机提取小批量样本数据传递给actor和critic进行计算。

根据实践证明,在只使用单个神经网络算法的强化学习算法中,动作值函数Q的学习过程可能会出现不稳定,因为价值网络的参数在频繁梯度更新的同时,又用于计算策略网络的梯度。基于这个问题,DDPG算法分别为策略网络和价值网络各自创建两个神经网络,一个为在线网络,另一个为目标网络。DDPG算法使用了4个网络模型,其更新关系是在结束一次小批量样本数据的训练后,通过梯度上升或梯度下降算法更新在线网络的参数,然后再通过软更新(每一时间步都会更新目标网络)算法更新目标网络的参数。核运维机器人轴孔装配任务的插入阶段算法结构如图5所示。

图5 插入阶段算法结构图

机器人在对轴孔装配环境进行探索,其目的是寻找更多潜在的更优策略,因此在网络模型的训练过程中,引入随机噪声影响动作的选择。DDPG算法中使用OU随机过程(ornstein-uhlenbeck)作为引入的随机噪声。

DDPG算法的目标函数被定义为折扣累积奖励的期望,即如式(7)所示:

其中β为行为策略,行为策略根据当前在线策略网络μ和随机OU噪声生成随机过程,并从该随机过程进行采样获得动作值at。

DDPG算法的目标是求解最优确定性行为策略μ*,即目标函数最大化的策略如式(8)所示:

从经验池中随机采样小批量的N个转换经验样本(si,ai,ri,si+1),使用最小化损失函数来更新critic网络如式(9)所示:

其中yi=ri+γQ′(si+1,μ′(si+1|θμ′)|θQ′),θμ′为actor目标策略网络的参数,θQ′为critic目标价值网络的参数,使用梯度下降算法更新网络模型中的参数。actor目标策略网络μ′和critic目标价值网络Q′使得网络在学习过程中更加稳定,更容易收敛。

目标函数Jβ(μ)关于策略网络参数θμ的梯度,等价于动作值函数Q(s,a|θQ关于θμ的期望梯度,因此遵循链式求导法则对目标函数进行求导,使用梯度策略算法更新actor网络:

对式(10)使用梯度上升算法的目标函数进行优化计算,使用梯度上升的目标是提高折扣累积奖励的期望。最终使得算法沿着提升动作值函数Q(s,a|θQ的方向更新actor策略网络的参数θμ。

3 实验与结果分析

在本节中,通过实验验证基于人机合作的机器人轴孔装配算法的可行性。

3.1 搜索阶段

3.1.1 实物环境搭建

在真实场景中搭建基于Phantom omni力反馈设备和UR5机械臂的主从异构遥操作系统,编写Python语言脚本通过机器人开源操作系统ROS完成主从机械臂的跟随控制,并完成搜索阶段的寻孔任务。插入阶段的主从异构遥操作系统实物图如图6所示。

图6 主从异构遥操作系统实物图

3.1.2 实验与结果分析

搜索阶段的主从异构遥操作系统如图7所示。首先操作者控制主端机械臂完成一系列动作,然后ROS系统获取主端机械臂节点omni1的末端位姿信息并发布名为/phantom/pose的主题,从端机械臂在python脚本中设置一个节点UR5_control实时订阅该主题,最后将订阅的主端机械臂末端位姿信息通过操作空间映射算法发送给从端机械臂,控制销钉到达孔的中心位置。其中,节点robot_state_publisher用来订阅节点omni1发布的名为joint_states的主题,该节点可以观察主端机械臂末端的实时位置信息,用于判断末端是否在主端工作空间内。搜索阶段的ROS节点图如图8所示。

图7 搜索阶段的主从异构遥操作系统

图8 搜索阶段的ROS节点图

通过主从异构遥操作系统完成搜索阶段的寻孔任务,在一次寻孔的过程中,我们可视化了机器人寻孔的轨迹,如图9、图10所示。由于充当主从机械臂的两个设备的空间坐标轴设置存在差异,为了便于操作,将从端机械臂末端的Y坐标轴对应主端机械臂末端的-Z坐标轴,从端机械臂末端的Z坐标轴对应主端机械臂末端的Y坐标轴。

图9 搜索阶段主端机械臂末端运行轨迹

图10 搜索阶段从端机械臂末端运行轨迹

从图9、图10中观察到,主从机械臂末端可以实现实时跟随并完成搜索阶段的寻孔任务。

3.2 插入阶段

3.2.1 仿真环境搭建

在机器人仿真软件webots中建立轴孔装配仿真环境,编写python语言脚本控制仿真环境中的机器人完成轴孔装配任务的插入阶段。其中包括UR5机械臂,六维力矩传感器,夹持器和轴孔装配工件。仿真环境中,基于DRL算法模型,通过训练得到从端机械臂当前状态与动作的映射关系从而获取最优控制策略,依据力反馈信息实时调整销钉的位置和方向,驱动销钉插入孔中。插入阶段仿真环境如图11所示。

图11 插入阶段仿真环境

3.2.2 实验与结果分析

插入阶段的仿真系统如图12所示。首先获取webots中销钉位姿和力矩传感器信息,将获取的信息进行筛选和计算,将其结果作为环境状态发送给DRL智能体进行决策;actor网络根据当前状态按照确定性行为策略选择合适的动作,同时发送动作指令给控制器控制从端机械臂运动,然后获取下一个数据作为环境状态再次发送给智能体;critic网络判断当前状态的价值并更新网络。重复以上过程,直到装配成功或者达到最大的训练回合数。

图12 插入阶段仿真系统

搜索阶段已将销钉放置在孔的中心位置,插入阶段的DRL训练实验进行了300回合,对于仿真中的一个回合,销钉的方向是在随机初始化的,每回合最大步数kmax为300,部分参数如表1所示。实验训练结果如图13和图14所示。

表1 算法使用的部分参数

图13 每个回合的累积奖励

图14 每个回合的装配步数

图13为训练过程中每个回合的累积奖励变化情况,图14为训练过程中每个回合的装配步数变化情况,从图中可以看到,刚开训练时,装配失败的次数较多,每个回合得到的累积奖励很低且装配步数较多,随着装配成功次数及训练回合数的增加,智能体逐渐学会如何通过调整销钉的位姿完成装配,当训练回合数达到200回合时,累积奖励趋于稳定且达到最大值附近,单个回合的装配步数也逐渐变少。智能体通过不断的训练,学会了插入阶段的轴孔装配控制策略。

训练完成之后,基于学习到的插入阶段轴孔装配控制策略执行插入阶段的装配任务,在一次成功装配的单一回合中,装配过程中的力和力矩变化如图15所示,装配过程中销钉的位置和姿态变化如图16、图17所示。从图15中可以看到插入过程中从端机械臂末端的力和力矩分量最终都在零值附近,结合图15~图17可以看到从端机械臂依据力反馈信息实时调整销钉的位置和姿态逐渐将销钉插入孔中,图16中销钉位置的三个坐标分量最终都为零值,说明销钉成功插入孔中。

图15 单一回合中力及力矩的变化

图16 单一回合中销钉位置的变化

图17 单一回合中销钉姿态的变化

4 结语

为了提高核设施日常运行维护的效率,保障核设施的安全运行,同时降低工作人员的受辐射剂量,针对CAP1400核电厂示范工程项目的任务需求,本文提出一种基于人机合作的核运维机器人轴孔装配方法。根据核运维机器人在核电厂环境中的运行特点,将轴孔装配任务分为基于遥操作系统的搜索阶段和基于DRL的插入阶段。在真实场景中搭建基于Phantom omni力反馈设备和UR5机械臂的主从异构遥操作系统,使用ROS通信实现了主从机械臂的跟随控制,并很好的完成了搜索阶段的寻孔任务。在webots中建立简化轴孔装配仿真环境,通过编写python语言脚本控制仿真环境中的机器人完成轴孔装配任务的插入阶段,进行了300回合的仿真训练实验,实验中算法可以用少量的装配步数和较高的奖励实现销钉的插入任务。

在未来进一步的研究中,需要考虑真实环境下插入阶段的轴孔接触情况,并且增加该方法的泛化能力。同时,开展在核电厂环境下的实物验证也是接下来的重要工作。

猜你喜欢
销钉主从核电厂
核电厂新材料使用批准制度研究
纵连板式轨道-销钉体系动力响应及参数影响分析
重水堆核电厂压力管泄漏的识别与处理
更正
核电厂工程建设机组防异物管理与实践
秦山核电厂运行许可证延续研究与应用
Antarctica's pretty pink snow
Boy dresses up to honor school security officer
基于ACS880变频器XD2D主从功能的采煤机牵引调速系统设计
顶盖饰条安装销钉的设计与焊接工艺