工业机器人主动安全系统中的信息融合技术研究
2019-06-05杨红平
杨 静,杨红平,张 慧,杨 杰
(天水师范学院 机电与汽车工程学院,甘肃 天水 741001)
目前,工业机器人已在生产、制造等多个领域中广泛应用,并在各种重复、危险和有冲突的任务中取代了人类。虽然其解放了大量劳动力,但随之带来了新的事故风险,即工人和机器人之间冲突事故的发生。为了防止发生事故,安全系统的应用必不可少。
实际工业现场环境复杂多变,突发事件频发,一般避免人机冲突的方式是设置刚性安全系统,将机器人工作空间与人类工作空间分开,并且只有当机器人处于非自动模式时,才能在机器人工作空间内对其进行编程、维护或维修。然而,近年来,由于产品设计的柔性化、生产方法的优化和新技术的引入,工业机器人执行的任务不再局限于对象的转移或其他重复性任务。相反,越来越多的任务需要人类和机器人协同工作。因此,为了实现人机协作,必须消除刚性安全系统,并引入其他类型的安全系统。新的系统可以通过检测障碍物及其动态特性来避免碰撞,并且在意外发生的情况下可以减轻对人类造成的伤害,有效实现人机共享工作空间。
考虑安全性是机器人制造系统设计的一个基本方面,而允许人机安全协同工作是工业机器人本身和系统安全策略发展必须考虑的问题。因此,本文对人机共享工作空间的防撞系统设计的初始阶段进行研究,提出了将两种不同类型信息进行融合的方法。该方法主要聚焦于从ToF相机拍摄的信息,实现颜色和3D信息的融合。通过信息融合的方式生成颜色和3D信息矩阵,该矩阵允许同时估计目标的颜色特征和其在世界坐标系中的三维位置。在主动安全系统随后的环节中,使用这些融合信息以防止工业机器人和人之间可能的碰撞。
1 人机共享空间
1.1 工业机器人安全系统
适用于工业机器人环境的安全性类型不唯一,不同类型的安全性分类如表1所示。表中的被动安全系统指的是不改变机器人行为的危险警告方式,这些系统产生的是可听或可见的信号,如警报或灯光系统,目的是防止人类意外进入受限区域。主动安全系统是当机器人处于自动作业模式时用于防止人侵入其工作空间的方法。它可以改变机器人的行为方式,从而提升安全系统在工业环境中应用的灵活性和实用性,最大限度降低人机之间产生的冲突,确保工业机器人环境中的工人的人身安全。
传统工业现场一般借助于力学、加速度或光学传感器等设备来检测人对机器人工作空间的访问,一旦检测到人类侵入,安全系统会立即停止机器人任务的执行,以此来保证人类安全。然而,频繁停机不但影响机器人的使用寿命,还会降低企业的生产效率,增加运营成本。因此,这一领域的研究需要朝着允许人机共享工作空间的方向发展。
1.2 避碰系统
目前,工业机器人已具备捕捉局部信息的传感器,如超声波传感器[1]、电容式传感器[2]、激光扫描仪系统[3]等。利用这些传感器采集的信息可以构建避碰系统,提高人机共享工作空间的安全性。然而,这些传感器提供的信息是局部的,不能覆盖整个作业场景,构建的避碰系统只能作为工业机器人主动安全系统中的子系统,提供部分信息来增强人机协作任务的安全性。
表1 工业机器人的安全系统类型
1.2.1机器人视觉系统
机器人视觉系统可以用于防止人机产生碰撞。该信息可以单独使用,也可以与其他类型的信息结合使用。为了实现安全的人机协作,文献[4]描述了由基于相机和计算机视觉技术获取人的位置信息的模块和基于加速度传感器和关节位置信息的模块共同组成的安全系统,用于防止由于硬件或软件故障导致的意外的机器人行为。文献[5]提出基于两个相机的视觉信息和力/扭矩传感器信息的融合实现人机共存与协作的安全策略。
1.2.2测距系统
通过使用诸如激光测距仪和立体相机系统的深度传感器可以获得场景的深度图。文献[6]和[7]中使用激光ToF传感器获取深度图,然后利用该图实现安全系统的设计。近年来出现的新型相机如3D ToF相机、PMD相机,可以从其他信息中以3D点云的方式拍摄所需信息。这些相机已经成功用于机器人工业环境的主动安全系统中。
1.2.3视觉与测距联合系统
视觉与测距联合技术是基于测距相机的3D信息和标准CCD相机的2D信息的融合。虽然这项技术已广泛应用于多个领域,但在工业机器人环境中的主动安全系统采用这项技术的研究还不多。
2 信息融合方法
文献[8]中提到以ToF相机坐标系作为参考坐标系进行空间变换。这样,若要得到世界坐标系中的物体位置,需要通过再标定来建立连接两个坐标系的旋转矩阵和平移向量。由此可知,需要为工业机器人、CCD相机和ToF相机定义一个公共坐标系,以便同时得到机器人工作空间中的3D物体定位及其颜色特征。因此,本文提出一种工业机器人主动安全系统中信息融合的方法,通过详细的数学描述证明本文方法的可行性和有效性,供其他研究参考。
在数学描述前,首先作如下假设:
(1)ToF相机和CCD相机被固定放置在机器人工作空间中,并且两个相机的视场重叠;
(2)工作环境温度条件保持恒定,并且ToF相机的积分时间参数在每次数据采集时自动更新;
2.1 ToF相机误差的减小
ToF相机误差的存在导致融合信息具有诸多问题,如边界不精确、饱和像素坐标中的信息丢失等。因此,在信息融合之前,需要减小这些误差。
2.1.1减小距离误差
为了减小ToF相机的非线性距离误差在距离测量中产生的影响,需要校正相机的距离值。首先,相机平行于地面,并且在机器人臂上安装一个浅色、低反射率的平板(也需要平行于地面),允许机器人臂沿着距离范围移动平板,从而拍摄不同距离的ToF数据。基于这些数据分析距离误差的方式有两种:(1)不考虑像素位置的所有像素的全局分析;(2)考虑每个像素位置的分析。前者容易实现,它只需要一个相对较小的平板,并假定像素位置不会引起误差,但这种方式只分析了ToF数据的缩小区域。后者需要更大的面板,因为此时相机拍摄的图像必须基于不同距离的面板,该方法用于判断前一种方法的适用性。两种方法的实施步骤如下:
(1)获取图像:由于距离测量受相机内部温度影响,因此需要一个最小的时间周期来获得稳定的测量值。[9]相机升温后,从距离范围D划分的N个不同的节点中拍摄ToF信息。每个拍摄的数据由维度为的矩阵A定义,3D信息由坐标矩阵X、Y和Z组成,每个矩阵的维度为 px×py.为了生成距离误差模型,通过在每个节点 j( j =1,2,…,N)上拍摄F个图像建立z轴上的距离信息集同理,分别定义x和y轴上的距离信息集为为了验证得到的模型,通过在每个节点 j上拍摄M个附加图像形成距离信息集
(2)角度校正:对x、y和z轴上的ToF信息集进行角度校正的目的是补偿ToF相机的(x,y)平面和以地面定义的平面之间的任意2D角偏差。其中,2D角偏差用角 θx和θy表示。给定x轴上维度为的图像定义其子矩阵 x̂的维度为其中,
同理,分别定义y轴和z轴上的子矩阵ŷ和 ẑ。定义 xˉ,yˉ,zˉ是维度为 p × 1 的 x̂,ŷ和 ẑ的列向量,其中即p为所选区域的像素数。该中心区域取自每个ToF距离图像,用以估计和校正面板和ToF相机之间的2D角度倾斜。因此,对每个图像区域使用旋转矩阵 Rx和 Ry修正3D点:
则有:
其中G的维度为3×p,从G中获得的z坐标的变换图像区域为:
同理:
从H中获得的y坐标的变换图像区域为:
(1)不考虑像素位置时:定义角度校正后的节点 j上的距离集则在所有ToF距离图像的选定区域上的平均距离为:
为了获取应用于新ToF距离图像的校正值,使用三次样条来拟合每个距离的差异信息。由此产生的样条曲线(即差异曲线)允许在给定ToF距离的情况下估计差异校正值。
为了减少从ToF信息得到的距离估计中的误差,采用ZV来验证差异曲线。为此,定义角度校正后的ToF距离图像验证向量(维度为 p×1),并根据差异曲线求取校正值向量C(维度为p×1)。这样,角度校正后的距离图像的校正距离值为:
为了观察这些校正对3D ToF点的影响,可以在差异校正前后计算MSE(mean squared error)。
(2)考虑像素位置时:采用由 zˉ''表示的F个角度校正的ToF距离图像,针对每个距离节点处的每个像素计算差异曲线。每个像素k(k=1,2,…,p)的平均值为:
则对于每个像素k计算所有节点的差异距离矢量 δv的公式如下:
为了获取应用于任意新ToF距离图像的p个校正值,计算三次样条以沿着每个像素的距离范围拟合该差异信息。
为了减少ToF距离图像中的误差,使用 ZV来验证每个像素处的差异曲线。为此,对角度校正后的验证向量(维度为 p×1)的每个像素k根据其差异曲线求值,得到校正值向量 Cv(维度为p×1)。这样,角度校正后的距离向量 v̇计算如下:
为了观察这些校正对3D ToF点的影响,可以在差异校正前后计算MSE。
2.1.2饱和像素校正
由于物体上的光反射过度导致来自ToF相机的信息可能受到像素饱和度的影响。虽然可以通过自动更新ToF相机的积分时间参数来降低影响,但这种方式在某些情况下难以适用,如金属或反射涂料存在的场合。因此,本文提出降低像素饱和度影响的解决策略,该策略由两部分组成。
(1)寻找饱和像素。当幅值大于给定阈值(取决于所采用的相机)时发生像素饱和。因此,搜索幅值图像以寻找大于或等于该阈值的值,以便在饱和像素位置处生成饱和二进制掩码M,而在其他地方生成零。为了能校正位于图像边缘的像素,通过复制位于矩阵边缘的行和列来增广幅值和3D信息矩阵。首先,定义q为要复制的A的行数和列数,,A的q个上矩阵行为,则B的维数为q×py,其中.然后,定义A的q个下矩阵行为,则 B'的维数为 q×py,其中.再定义中间矩阵,
代表饱和像素位置的索引对集合Q定义为:
(2)校正饱和像素。为了用邻域的平均值代替不正确的值,利用饱和二值掩码求出幅值和3D矩阵中饱和值的坐标,并计算周围像素的平均值。该计算中未考虑饱和值。定义维数为 2q+1×2q+1的窗掩码其中
2.1.3跳边约简
另一个可能对测距相机3D数据产生影响的误差为跳跃边缘。该误差会产生伪像素,造成对真实场景的不精确测量。因此,为了减少这种影响,本文提出仅使用3D数据中的距离值来生成距离图像。利用(20)计算形态梯度来找到受跳边影响的像素:
其中g的维数为 px×py,f是与g同维数的ToF距离矩阵,S是 3×3的广义异或或同或掩码,⊕和⊗分别是异或和同或运算符。
然后搜索用于区分非期望像素与其余像素的阈值。通过以下变换将g变换为0到255的新的距离图像G:
计算G的直方图并通过Butterworth滤波器平滑。之后,沿着已平滑直方图在第一最大值的右侧搜索第一最小值来定义阈值 η。通过将找到的伪像素置零,并保持其余像素距离值不变来生成新的距离矩阵 f':
当ToF和颜色信息融合时,在放大ToF信息之后实施跳边约简步骤。
2.2 颜色与3D信息融合
通过将3D ToF点重投影到彩色图像中实现标准CCD相机和ToF相机的信息融合,即颜色与3D信息融合。在工业机器人主动安全系统中,必须检测移动物体(如机器人和人),以防止他们之间可能发生的碰撞。为了获取关于这些对象的信息并设计避碰算法,本文提出的前景检测方式是以先前分类为前景像素的像素来得到融合信息,即在3D ToF点上利用2D技术进行场景中的前景对象检测,随后将前景对象的颜色和3D信息进行融合。
2.2.1前景对象的3D信息分析
为了在3D点云中进行动态检测,考虑到ToF相机是静态的,但光照变化不影响所获取的3D点,所以认为背景消除技术适用于3D信息。因此,在距离和饱和像素校正的基础上,在3D点云中采用基于参考图像模型的背景消除法,以便区分3D场景中的静态部分与移动对象。定义一组在时间周期中获取的偏差和像素饱和度校正后的t个ToF距离图像,则有
背景参考图像 BT为:
其中,p是每个ToF距离图像中的像素数。为了检测体现运动的像素,通过(24)计算参考图像与当前图像之间的差分图像:
在得到的二值图像中,使用形态学运算去除孤立像素。该二值图像用作 Z'的3D点上的掩码,以将最大值设置为3D点的坐标(这些坐标在二进制图像中被视为背景(0值)),并将二值图像中坐标被视为前景的3D点留作实Z值(1值),这样就得到了新的ToF距离矩阵 Z''.
2.2.2 3D ToF信息重投影到彩色图像
为了给先前检测到的3D前景点提供颜色信息,将这些点重新投影到彩色图像中。采用颜色和幅值图像对两个相机相对于世界坐标系进行标定。由于两个相机都可以由针孔相机模型[10]表示,因此可以使用Matlab中的相机标定工具箱(Camera Cal⁃ibration Toolbox)来提取相机的内部和外部参数。外部参数用于将相机坐标系中给出的3D ToF信息转换到世界坐标系,内部参数用于将3D信息重投影到彩色图像。因此,基于标定相机理论,[11]并在测距相机误差减小的基础上,依据如下变换后,对已校正和变换的3D点进行重投影。
其中,外部参数由3×3的旋转矩阵R和 1×3的平移向量T表示。
通常,标准CCD相机比测距相机具有更高的分辨率,所以3D点的重投影不具有一对一的等价性。因此,采用双线性插值来放大ToF信息。此外,由于只提取前景3D点的信息,所以对 Pc采用自动阈值处理技术除去被分类为背景的点,从而生成新的3D点云
由于图像坐标受到切向和径向畸变的影响,这就需要将系统畸变模型添加到针孔模型中。三维坐标系与无畸变的图像坐标系之间的变换为:
其中固有参数f是以毫米为单位的焦距。
考虑径向畸变 D(r)和切向畸变 D(t),通过针孔模型定义畸变坐标和无畸变坐标之间的关系为:
畸变图像坐标到像素坐标之间的转换公式如下:
其中,固有参数 ku和 kv是每毫米像素数(分别为水平和垂直方向上),s是在大多数相机中通常为零的偏斜因子,表示投影中心的坐标。
在得到3D前景点的像素坐标(u,v)后,通过四舍五入将这些值调整为像素值。综上所述,本文方法框架如图1所示。
3 结 论
本文旨在为应用ToF相机的工业机器人环境中的主动安全系统的研究做出贡献,该方法可以作为人机共享机器人工作空间的防撞系统设计的初始步骤。与其他方法的不同之处在于:定义了用于机器人臂、CCD相机和ToF相机的公共坐标系。利用获取的标定参数将ToF相机坐标系中的3D点转换到公共坐标系,并将其重投影到2D彩色图像中。方法的创新之处在于:
(1)给出了由颜色和3D信息构成的矩阵。因此,机器人工作空间内的对象的3D坐标与其颜色信息都是已知的。
(2)提出基于形态学梯度的跳边误差检测方法有效检测和减小跳边误差。
(3)为了获取所需融合信息,提出了一种基于相邻像素信息的饱和像素检测和校正方法。
将本文方法应用于工业机器人环境的主动安全任务中,可有效防止人机之间可能发生的碰撞。
图1 信息融合方法框架图