不确定检测环境下强化学习覆盖路径规划研究
2024-01-22李彦征刘银华赵文政孙芮
李彦征,刘银华,赵文政,孙芮
(1. 上海理工大学 机械工程学院,上海 200093; 2. 上海交通大学 机械与动力工程学院,上海 200240)
复杂自由曲面结构产品具有严格的几何尺寸和公差要求,全面准确的质量检测能够为产品质量评价提供必要依据。近年来,以结构光为代表的机器人视觉检测系统以其柔性、非接触、全覆盖等特点在汽车、航空航天等制造业中得到广泛应用。在自由曲面的质量检测中,通常采用搭载光学传感器的工业机器人以不同的视点和姿态进行检测,从而在短时间内实现被测零件的尺寸、位置、形状以及误差的获取。因此,针对自由曲面的检测规划本质上是覆盖路径规划(Coverage path planning, CPP)问题。Galceran等[1]提出CPP结果需要满足如下要求:1)机器人必须在给定区域内的所有候选特征点之间移动;2)机器人生成的路径的区域应满足无重叠路径的要求;3)在无重复路径条件下实现连续以及顺序操作;4)机器人必须避开所有障碍物;5)运动轨迹应尽可能的简单;6)在满足以上条件的情况下,规划出成本最小的一条路径。
覆盖路径规划已经被集成到众多机器人应用场景中,如深海安全探测[2]、三维测绘重建[3-4]、室内外空间清洁[5]以及表面质量检测[6]等领域。Wang等[7]基于Delaunay三角剖分原理提出了一种路径规划算法,通过设计分层任务规划器控制智能体实现未知2D区域完全覆盖。此外,基于自组织映射神经网络等方法也用来解决多智能体的CPP问题求解[8-9]。上述研究均针对二维平面环境,由于三维空间中机器人无法通过简单的视点或航路点获得被遮挡部分的信息,这使得基于二维CPP方法的适用性受到限制。因此,为解决三维空间中的覆盖路径规划问题,贾庆轩等[10]将A*算法应用于空间机械臂中,通过分析机械臂属性和障碍物的几何特征来获得简化模型,进而求解无碰撞路径。王洪斌等[11]将A*算法与人工势场法相结合,提出了全局规划与局部规划相融合的路径规划方法,实现了机器人局部路径的动态规划。刘洪鹏等[12]考虑了光学传感器位姿对于检测精度的影响,提出了基于改进贪心算法的覆盖路径规划。Jing等[6]考虑了机器人位姿不确定性,提出了一个通用框架,获得离散化工作空间上的覆盖概率,并根据新的概率覆盖准则生成保证覆盖得路径。
上述文献提出的CPP算法均假设环境已知,而对于未知的、非结构化环境时,上述方法将变得不再适用。因此,Bircher等[13]引入了一种新的路径规划方案,使得在线规划好的路径能够以后退的地平线方式探索给定的有界体积。Meyes等[14]提出基于强化学习(Reinforcement learning,RL)的机器人连续轨迹的运动规划方法。Lakshmanan等[5]提出了一个完整的覆盖路径规划模型,该模型使用深度强化学习为基于Tetromino的可重构机器人平台进行训练,获得成本最小的机器人轨迹。Paull等[15]考虑了机器人姿态的不确定性,提出了一个通用框架,基于信息的路径规划保证了区域覆盖。
上述研究针对强化学习在机器人路径的在线规划方面进行了探索,但较少考虑工业现场的不确定性环境。因此,本文针对实际制造环境下在线覆盖路径规划问题,考虑零部件制造误差、工装定位误差等不确定性因素,提出了一种基于改进的蒙特卡洛树搜索算法的强化学习方法,在线生成有效的工业机器人运动路径,实现零部件表面全特征的覆盖质量检测。
1 不确定环境下覆盖路径规划概述
机器人光学扫描系统一般由3部分组成,包括光学传感器、机器人、被测零部件及工装夹具等。在产品质量检测中,覆盖路径规划是寻找一个接近最优的机器人运动方案,完成一系列满足覆盖要求和无干涉约束的检测任务。传统CPP问题求解的思路一般包括:1)视点规划,为被检测零件进行最优的视点采样,其受视点数量和特征全覆盖的约束;2)路径规划,寻找连接所有视点的最优或接近最优的序列,并进一步基于此序列生成无碰撞的机器人路径。
在质量检测过程中,造成不确定性的因素主要包括零部件位姿误差、表面不一致性、测量噪声等。传统基于标准数模环境下的覆盖路径规划结果的适用性不足,难以适应不确定制造环境,导致大量现场调试,工艺规划的准确性不高。因此,本文考虑零件位姿误差等不确定性因素,提出了基于强化学习的覆盖路径在线规划方法,实现机器人扫描系统路径的在线规划。本文提出的CPP方法主要包括:环境搭建、视点规划与路径规划等。环境搭建的目的是获得初始视点、视点的可视性矩阵等。
视点的可视性需要满足以下要求:1)装有光学传感器的机器人末端能够到达该候选视点;2)对于确定的视点,应满足光学传感器的参数要求,如视场(Field of view, FOV)、景深(Depth of field, DOF)等;3)配备光学传感器的机器人检测系统与被检测对象、工装之间不发生碰撞。视点采样与路径规划部分主要是在上述环境搭建基础上进行,文中考虑了不确定的制造环境,提出了用于覆盖性视点采样的强化学习算法,进一步结合启发式优化算法的应用实现最佳视点集之间的优化检测路径,提升检测工艺规划与质量检测效率。
2 强化学习的在线路径规划
2.1 面向在线CPP的初始视点生成
为实现不确定制造环境下的覆盖路径在线规划,本文首先对被测零件进行体素化操作,同时考虑不确定性环境下的视点的可利用性,提出基于空心球的视点随机采样方法。不同于传统的体素膨胀法、势场法以及椭球体[6]等视点生成方式,在空心球中生成视点可以最大效率的重用视点,且删除了过于靠近物体的视点,在满足全覆盖要求的前提下,减低初始视点集大小,提升视点规划效率。具体生成方法如下:
1) 以待检测物体中心为球心,空心球体最小最大半径满足扫描测头参数,在空心球内基于随机采样生成初始视点集。
2) 针对确定的视点,对应入射角方向定义为
(1)
式中:Xi为第i个视点的入射角指向方向;x~N(0,1)为满足高斯分布的多元变量;k为高斯分布比重的调整参数;xi1为第i个视点对应的距离最小的检测特征坐标;xi2为第i个视点的位置,初始视点生成的示意图如图1所示。
图1 初始视点生成示意图Fig. 1 Schematic diagram of the original viewpoint generation
进一步,对每个视点的可达性与可视性进行求解,可视性即确定每个视点对应视场内有效测点集合。一般满足以下4个条件[16]的检测特征被定义为可视:
1) 待测物体特征与相机之间距离的要求,即DOF。
2) 待测物体特征在相机检测范围之内,即FOV。
3) 待测物体特征与相机入射角的夹角要求,即可视性要求。
4) 待测物体特征与相机之间无其他遮挡。
对于可视性的规则如图2所示。
图2 可视性要求Fig. 2 Visibility requirement
图2中:[D,D+d]为相机的景深要求,只有待测物体处于此区间内,相机才可进行表面质量检测;α为相机的视场要求,待测特征要位于α角内;θ为待测特征矢量方向与相机入射角的夹角。当以上要求均满足的情况下,可以计算可视性矩mG。至此,面向在线视点采样的检测环境搭建全部完成。
2.2 强化学习的全覆盖视点采样
2.2.1 MDP模型概述
强化学习算法[17]中,主要包括以下几个要素:状态、动作、奖励、状态价值函数、动作价值函数等。其特点是无需提前给定解决问题的策略,而是智能体根据环境采取行动,通过智能体对状态、动作和奖励三要素的计算,迭代更新目标函数,以实现自我学习、进行策略的更新与改进的目的,强化学习的思路如图3所示。
图3 强化学习过程Fig. 3 Reinforcement learning process
其中智能体与环境之间的交互过程被认为是马尔科夫决策过程(Markov decision process, MDP),MDP被定义为一个有限的五元组(S,T,A,r,λ)。其中,S为有限状态的集合;T为状态转移模型;A为智能体有限动作的集合;r:S×A→r∈R为状态S的函数,称之为智能体在当前状态下选择动作的奖励函数,可表示为r=E(S);λ为折扣因子,定义了当前奖励与未来奖励之间的比重。如果λ=0,那么智能体的动作价值只与当前所得的奖励有关,若λ=1,则智能体的价值函数不仅受到当前奖励的影响,并且未来奖励对于价值函数的影响同等重要。其中价值函数一般作为期望函数出现,用于评估处于当前状态时执行相应动作时,未来可能获得的奖励期望,其可表示为
vπ(s)=Eπ(Rt+1+λRt+2+…|St=s)
(2)
2.2.2 面向CPP问题的强化学习模型构建
为使得CPP问题转化为MDP问题,我们对CPP问题中的概念进行重新定义,使其满足MDP问题要素的要求。
定义1(状态):在CPP问题中状态空间是由机器人位于当前视点时,基于当前视点所有未被机器人选择的视点所构建的集合。状态空间S中的每个状态s由以下两个部分组成:1)从有限的候选视点集Ps中提取机器人位于视点时的位姿;2)候选视点集Ps中的每一个视点vs。
基于初始视点的生成,零件表面质量检测中的CPP需要满足:1)零件表面需要覆盖最少数量的视点,同时每个视点包含尽可能多的检测特征;2)全覆盖条件下,应最小化检测时间,提高检测效率。对于CPP问题中状态和奖励的转换,给出如下的定义:
定义2(动作):对于机器人来说,位于当前状态,即视点位置及机器人本身位姿给定时,如何选择下一状态的过程称之为MDP问题的动作空间。
定义3(奖励):由于质量覆盖检测问题的特殊性,即在保证全特征覆盖率要求下最小化检测时间,故定义奖励函数为
(3)
式中:Si为第i个视点;ai为测头中心点位于第i个视点时其余视点的集合;Ti(Si)为Si视点的检测时间;Tt(Si,Si+1)为测头中心点从视点Si运动到Si+1时所花费的时间;con(vi,ai)为测头中心位于视点vi且选择动作ai时所覆盖待测特征数目;con(vi,ai)∩con(vi)为视点vi与机器人基于当前视点选择动作ai之后,视场内检测特征的交集。
解决上述构造的MDP问题即寻找一个最优策略使得智能体在于环境交互的过程中获得最优回报奖励。为此,本文基于上述构造模型,提出了改进蒙特卡洛树搜索算法(Monte carlo tree search, MCTS)对CPP问题进行求解。MCTS算法是一种通过使用决策树随机抽样实现高维空间中探索的增量方法。MCTS算法具有渐进最优性, 即可以随着决策点的增加迭代进而收敛达到最优解。MCTS算法主要包括:
1) 选择:从根节点出发,选择当前节点的最佳子节点,直至叶子节点。
2) 扩展:位于叶节点时,若没有达到终止状态,则对当前节点进行扩展。
3) 模拟:基于目前状态,以一定策略移动至子节点,直至达到终止状态。
4) 反向传播:根据模拟结果,反向更新所有节点信息。
本文提出的改进MCTS算法流程如算法1所示。
算法1: 蒙特卡洛树搜索(MTCS)
输入: 初始视点位置信息S0
输出: 根据当前节点的状态,选择最佳子节点S′0
1: create root nodev0with stateS0
2: fori=1: max-iteration:
3:v←TreePolicy(v0)
4:Δ←SimulatePolicy(s(v))
5: BackUp(v,Δ)
6: end for
7:S′0←BestChild(v0)
算法1中:v0是根节点,即机器人末端从当前视点开始进行视点采样;max-iteration为最大迭代次数;SimulatePolicy()为模拟过程下应用的策略。
本文中,使用的策略为随机选择子节点策略,在当前状态下的子节点中,即候选视点,随机选择一个智能体未经历的状态当作智能体的下一状态;BestChild()为依据所给等式(4)选择当前节点的最佳子节点函数。对于MCTS算法中扩展、回溯功能的实现,分别为TreePolicy()、BackUp(),具体实现过程如算法2和算法3所示。
算法2: 树策略(TreePolicy)
输入:当前节点v
输出:当前节点的子节点v′
1:whilevis not terminal:
2:ifvis not fully expanded
3:choosev′ from untrieds(v)
4:v′ satisfyf(S,a0,a1,…,ai-1)
5:Return (v′)
6:else
7:v′→BestChild(v)
8:Return(v)
算法3: 回溯函数(BackUp)
输入:当前节点v,默认策略模拟结果Δ
输出:更新被选择的节点信息
1:whilevis not empty:
2:N(v)←N(v)+1
3:Q(v)←Q(v)+Δ
4:v←parent ofv
算法2中:s(v)为未被选择的视点集合,函数f(S0,a0,a1,…,ai-1)对于当前节点相对于根节点之间的连续性产生了约束。当存在候选视点且遇到未完全扩展的节点时,基于BestChild()函数公式,添加1个子节点v′。v′满足与当前节点v连续的要求。算法3中,N(v)为当前节点的观测次数,Q(v)为当前节点的回报计算结果,Δ为当前节点相对于父节点的提升结果。
2.3 覆盖路径规划
视点采样结束后,CPP中的视点规划子问题已经解决。而第二个子问题是确定视点序列以最小化机器人的运动时间。该问题可以表述为旅行商问题(Traveling salesman problem, TSP)。TSP是一个组合优化问题,也是NP-hard问题。解决这类问题的方法较为成熟,主要包括分枝定界法、混合整数性规划和启发式算法等。本文中采用自组织映射神经网络算法[8]对视点间的优化路径进行求解,获得视点间检测时间最短的检测路径。
3 案例分析
为了评估该方法的有效性,本文采用车门内板上检测特征的全覆盖检测案例开展虚拟实验验证。搭建的虚拟检测工位如图4所示,主要包括待测车门、FANUC的R-2000iB/210F机器人以及光学扫描仪,对应的扫描仪参数如表1所示。机器人从其初始位姿开始进行检测,在达成覆盖率要求后,返回初始姿态,以便于下一个目标工件的检测。
图4 机器人光学检测系统示意图Fig. 4 Schematic diagram of the optical inspection system
该车门内板布置待测特征共计950个,如图5所示,包括面点、圆孔、棱边点以及槽孔等,对应待测特征的位置及矢量方向在图中用红色箭头表示。针对该前车门实例,在待检测对象邻域空间内随机生成了5 000个候选视点。
考虑到目标工件的不确定性场景应用,案例预设了5种零件位姿误差情况,即车门总成无位姿误差、沿X轴的平移15 mm、沿Y方向的平移15 mm以及绕Z轴的旋转5°和10°,分别标记为场景1,2,3,4,5,覆盖率参数设置为100%。进一步,通过与基于遗传算法的覆盖路径规划方法[18]进行对比分析,验证本文方法的有效性。表2为基于两种算法的随机仿真实验的对比结果。
表2 基于两种方法的机器人运动时间对比
从表2可见,本文所提出方法在被测对象具有不同位姿误差场景下,检测时间均低于传统的遗传算法,检测周期的提升率在1%~17%之间。针对不同场景下本文提出CPP规划方法的机器人检测时间分别下降3.97%、3.47%、4.97%、10.83%、15.55%。尤其针对零部件转动位姿误差下的检测时间提升显著。扫描仪视点采样与机器人轨迹规划的对比结果如图6所示。
图6 扫描仪视点采样与机器人轨迹规划的对比结果Fig. 6 Comparison results using scanner′s view samples and robotic trajectory planning
受篇幅限制,仅给出零部件在场景1与场景5的轨迹结果。通过图6可知:本文方法虽然在视点选择数量上不具备优势,但由于总体规划路径较短,因此检测总时间更短,使机器人检测效率显著提升。本文方法在满足全覆盖的要求下,基于初始位置可视空间内随机生成视点,并设置视点矢量方向;通过视点覆盖率的提升以及视点间路径的长短进行视点采样,并且根据采样得到的视点进行路径规划。与基于遗传算法相比,创新性的将待测对象的不确定性位姿误差等因素融入路径规划中,提出了蒙特卡洛树搜索算法的CPP问题求解方法,降低了机器人检测时间。
4 结论
本文针对复杂结构的覆盖路径检测规划问题,提出考虑零部件实际位姿误差等不确定性因素的视点采样及机器人覆盖路径规划方法。具体通过待测对象的邻域空间内视点随机生成、可视性判别、视点采样以及路径规划等步骤,实现不确定检测环境下全覆盖路径的在线规划,提升了待测对象的质量检测效率与实际制造场景的适用性。本文提出方法可为汽车车身、航空航天零件的在线覆盖路径规划提供理论依据。