事件相机驱动的空间机械臂视觉伺服

2023-07-12 02:01李金健
空间控制技术与应用 2023年3期
关键词:圆形机械矩阵

李金健, 胡 权

北京理工大学, 北京 100090

0 引 言

空间机械臂在完成在轨抓取操作、在轨组装以及空间碎片捕获等任务时,首先要解决对周边环境、操作对象的感知与测量问题[1].为此,通常携带传统图像相机作为视觉传感器[2].但是传统图像相机具有数据量大、测量延迟高等缺点,当目标在快速旋转或移动时,获得的图像具有拖影,给测量、辨识以及跟踪带来了难题.除此之外,传统相机动态范围低,难以在空间复杂光学环境下开展目标识别与跟踪工作.针对以上问题,本文选取动态视觉传感器(dynamic vision sensor, DVS)作为感知器件来解决空间机械臂的测量和控制问题.

动态视觉传感器又称为事件相机(event camera),是一种受生物启发的基于地址-事件格式表达的新型视觉传感器.如图1所示[3],与传统相机同步输出图像帧的原理不同,事件相机只捕捉场景的运动信息,并异步输出事件流数据,这使得事件相机具有一些传统相机无法比拟的优势,如低延迟、高时间分辨率、低数据量以及高动态范围特性等[4].事件相机一般能达到120 dB以上的场景动态范围,远高于传统相机的60 dB,这使得其在复杂空间环境下仍能有效开展工作.由于事件相机具有诸多传统视觉传感器不具备的优势,期望将事件相机作为感知测量器件,提升空间机械臂的感知与操作能力.

图1 事件相机与传统图像相机的工作原理对比Fig.1 Comparison of principles between event cameras and traditional image cameras

目前,在机械臂视觉伺服领域,结合事件相机的研究成果较少,大多数工作依旧使用传统图像相机作为视觉传感器.RAJKUMA等[5]于2020年首次基于事件相机实现了机械臂视觉伺服,其采用Harris算子提取活跃事件表面中的角点信息,并通过图像雅可比矩阵、角点热图等实现对目标的跟踪和抓取.随后,他们又引入基于位置的视觉伺服方法实现了基于事件相机的钻孔任务[6].对于视觉伺服而言,高精度、高帧率的特征检测与跟踪是任务成功的关键.上述研究中所使用的角点特征存在跟踪困难、跟踪精度低等缺点.相比于角点特征,圆形特征所携带的信息更多,跟踪相对容易.目前基于事件的圆形特征检测主要基于Hough变换开展,如eHough和梯度eHough算法等[7],但这些算法都存在计算量大的缺点.本文提出了基于迭代重加权最小二乘的圆形特征检测与跟踪算法,能够在实现同等跟踪成功率的情况下实现更高帧率的特征检测反馈,充分发挥事件相机的高时间分辨率优势.随后,利用基于事件的视觉伺服(event-based visual servo, EBVS)方法[5],设计了跟踪运动目标的视觉控制律.所设计的控制方法能够有效降低视觉延迟,提高特征检测频率以及机械臂伺服精度.

1 基于事件的圆形特征检测跟踪

1.1 事件生成模型

事件相机由独立的像素组成,这些像素根据亮度的变化生成异步事件流数据.若像素x=[xy]T处产生的亮度增量满足式(1)则会产生一个事件

ΔL(xi,ti)=piC,i∈N

(1)

式中,i代表事件序号,ΔL表示亮度增量,ti是第i个事件发生的时间戳,pi∈{-1,+1}代表事件的极性,C>0是恒正的时间对比度阈值.当同一像素处ΔL增大到超过时间对比度阈值,则该像素输出一个正极性(ON)事件;若光线变暗,ΔL降低到一定阈值,则会输出一个负极性(OFF)事件.因此,事件e可以被异步的表示为如下形式:

ei=[xitipi]T

(2)

在处理事件数据时,针对不同的应用有不同的处理方法.常用的方法包括逐事件处理、批量事件处理以及合成事件帧处理等[4].其中,合成事件帧方法通过累积事件生成灰度图像以适配传统视觉算法,具有较大延迟且背离了事件异步处理范式.相比而言,逐事件和批量事件方法更贴合异步处理事件的初衷.

1.2 圆形特征检测跟踪算法

由于事件数据与图像数据在编码方式上大为不同,传统视觉中的边缘检测或Hough变换等算法很难有效应用于事件数据处理.因此,针对基于事件相机的圆形特征检测任务,首先使用批量事件处理方法将N个事件统一为一组,然后基于拟合的方式检测圆形特征.

批量事件处理中的事件数量可以采用固定数量或固定时间的方式确定.其中,固定数量累积的方式会产生不规则的视觉反馈信息,不便于视觉伺服控制器的设计.除此之外,考虑到事件相机的实际信号采集,事件以包的形式按固定时间传输,因此采用固定时间累积方法.取时间间隔ΔT,第k个周期累积得到的事件集合可以表示为

(3)

由于事件相机生成的稀疏事件大多分布于边缘特征附近,因此可采用类似迭代最近点的方法[8],通过求解如下优化问题来拟合圆形特征的圆心坐标c=[cxcy]T以及半径r.

(4)

式(4)本质上是圆的几何拟合方法,需要非线性优化求解,求解速度较慢.为了匹配事件相机的超高时间分辨率特性,可以使用圆的代数拟合方法作为近似[9],该优化问题可表示为

(5)

式(5)为线性最小二乘问题,存在解析解且求解速度快.文献[9]证明了其与式(4)的拟合精度相近,并且拥有相同的拟合方差.为了进一步提高检测精度,降低事件流中背景活动噪声的影响[10],本文使用基于Tukey权重函数的迭代重加权最小二乘方法(iterative reweight least square, IRLS)求解上述线性最小二乘问题[11].

(6)

(7)

其中:最大半径rmax是为了避免ROI的无限扩大所设计的半径上限,与跟踪的特征大小有关;rmultiple为缩放系数,本文取为1.5获得ROI后,用于后续拟合以及跟踪的事件集合为

(8)

2 基于事件的空间机械臂视觉伺服

2.1 视觉伺服系统框架

航天器的对接装置、表面圆孔等会在相机图像坐标系中形成二维圆形特征.基于观察到的二维特征,可使用视觉伺服的方式实现空间机械臂的抵近操作,从而为后续空间机械臂的操作任务提供基础.EBVS是基于图像的视觉伺服(image-based visual servo, IBVS)方法的推广[12],其控制流程图如图2所示.视觉伺服任务需建立任务变量与机械臂控制变量之间的微分关系,通过设计视觉控制器使任务变量与期望任务变量之间的误差趋近于零.本文采用单目手眼配置的视觉伺服框架,事件相机安装于空间机械臂末端.经过特征检测的事件流数据被转化为EBVS控制器可用的特征信息从而实现视觉伺服.

图2 EBVS控制结构图Fig.2 Control structure diagram of EBVS

(9)

其中:JC为时变的复合雅克比矩阵,该矩阵由3个雅克比矩阵复合而成:第一部分是图像雅可比矩阵JS,第二部分是空间机械臂广义雅可比矩阵JG[13],第三部分是相机速度与机械臂末端速度之间的微分雅克比矩阵JT;∂s/∂t是目标运动引起的特征变化率.广义雅可比矩阵JG是基座姿态Ψb、机械臂关节角q以及各刚体质量mi和惯量Ii的函数,i表示各刚体序号.考虑基座受控状态时,广义雅克比矩阵近似只与机械臂关节角有关.

2.2 图像雅可比矩阵构造

基于1.2节提出的圆形特征检测跟踪算法构造图像雅可比矩阵.圆形特征属于图像矩特征的一种.对于连续密集分布的图形O,i+j阶原点矩定义为

(10)

根据文献[14]中的结论,原点矩特征可由格林公式计算图像雅可比矩阵.对于圆形特征还可以找到一组解耦特征,即规范化重心-面积特征,使得所控制的3个平动自由度解耦.规范化重心-面积特征为

(11)

2.3 视觉控制律设计

设计视觉控制律使得当前特征收敛至期望特征附近.为保证1.2节圆形特征检测跟踪算法有效,需要使目标特征所在平面与事件相机的成像平面始终平行,因此本文按此工况设计视觉控制律,使用检测得到的圆形特征来控制事件相机的平动自由度,同时使用基于位置的视觉伺服独立控制相机的转动自由度,从而保证平行条件.若需要处理不平行的情况,需要改进1.2节的算法以检测透视投影后的椭圆特征参数,另外还需要设计椭圆特征的图像雅可比矩阵等,本文对此不做讨论.

使用具有前馈环节的比例负反馈设计速度级视觉控制器.当目标运动引起的特征变化率被准确估计的情况下,控制平动自由度的方程为

(12)

控制转动自由度的方程为

w=-λwθu

(13)

(14)

第k-1个控制周期给定控制量所引起的圆形特征变化率可以写为JS,k-1vk-1.假设目标在第k个控制周期的速度保持不变,可以将式(12)写为

(15)

2.4 时间对比度阈值调节策略

使用事件相机进行视觉伺服会面临一个传统视觉伺服不会遇到的问题,即在特征误差收敛到0的过程中,相机与目标之间的相对速度逐渐趋近于0,会造成事件量降低并引起特征检测失效.

对式(1)进行线性化后可得[4]

piLt(xi,ti)Δti=C

(16)

其中,Δti为xi像素处发生的事件相距上一事件之间的时间差.考虑理想的事件生成模型,且像素xi处所有事件的极性在较短的ΔT内不变.使用亮度恒定性假设,可以获得光流和事件数量之间的近似关系

(17)

本节对C设计调节策略来主动改善事件量大小,使其维持在能够实现特征检测的程度.与此同时,该调节策略也可以避免过大事件量造成的计算效率下降.定义时间对比度灵敏度σ=1/C,采用如下调节策略:

(18)

其中,κ为调节增益,N*为期望事件量,σ的上限和下限分别取5和1.5[16].得到所需的时间对比度阈值之后,按照对数特性调节事件相机的内部电流.对于事件仿真器而言可以直接修改C值,对于商业事件相机,可调用时间对比度设定接口.

3 仿真验证

3.1 仿真环境

本文的仿真环境基于第二代机器人操作系统(robot operating system2, ROS2)以及Ignition Gazebo仿真器搭建.仿真中使用六自由度机械臂,DH参数与AUBO-i5机械臂一致.仿真相机固定于机械臂末端,形成手眼配置视觉伺服系统.对于事件相机仿真,需要根据高帧率图像信号合成事件流信号.本文调用Ignition Gazebo图像话题,使用V2E模拟器生成合成事件[17],原始图像帧速率(frames per second, FPS)为200.表1列出了仿真环境中事件相机相关的参数.

表1 仿真环境参数表Tab.1 Simulation environment parameters

关于时间对比度阈值方差,截断频率以及各噪声的具体参数含义可参考文献[16].搭建的仿真环境如图3所示,目标在XY平面内绕点(0.55,0.2)m,以角速度0.4 rad/s做半径为0.1 m的圆周运动.

图3 视觉伺服仿真场景Fig.3 Simulation scene of the visual servo

3.2 圆形特征检测跟踪实验结果

为验证基于事件的特征检测算法的性能,对比了传统的基于帧的Hough算法以及eHough算法[7].该算法根据每个事件的梯度方向进行Hough变换,有效减少了Hough变换的变换次数.

本文总共进行了10次特征检测跟踪实验,单次实验时长为30 s.测试时,机械臂静止,只启用特征检测模块且目标始终位于相机视野中.基于事件的检测算法以ΔT=500 μs的间隔累积事件,各算法的检测速率按照总计算时长除以检测次数来计算.3种算法都实现了100%的跟踪率,即实验时均没有发生目标丢失.本文所提出算法在单次实验中的部分结果展示于图4,其中,黄色点为累积事件,内部红色圆形为检测得到的圆特征,外部紫色圆形为当前时刻ROI.图4显示了从初始跟踪到跟踪收敛的过程,该算法在短时间内实现了10次跟踪.

图4 基于事件的圆形特征检测结果Fig.4 Results of event-based circular feature detection

三种算法的平均检测速率列于表2可以看出,本文提出的圆形特征检测跟踪算法实现了极高的检测速率,并且远远超过了传统相机的检测极限.

表2 圆形特征检测算法对比Tab.2 Comparison of circular detection algorithms

3.3 运动目标伺服跟踪实验结果

本节对比了IBVS控制器与本文设计的EBVS控制器在运动目标伺服跟踪实验上的效果,两者都使用相同的视觉控制律,区别仅在于特征检测算法.IBVS从图像中提取圆形特征而EBVS使用1.2节所设计的检测跟踪算法.

机械臂的初始关节角为(-1.11, 0.06, 1.29, -0.34, 1.57, 0.46) rad,归一化的期望特征量为(0,0,0.4),期望深度为0.4 m.当目标发生移动时,特征检测模块将输出圆形特征的规范化表达,然后采用ROS2通讯将该信息传输给机械臂视觉伺服模块.若系统状态正常,则该模块计算特征误差,根据视觉控制律生成机械臂关节速度指令,控制机械臂快速移动至期望位置.启动控制节点后,IBVS和EBVS都可以在短时间内使特征收敛至期望特征附近,收敛结果如图5所示.

图5 视觉伺服收敛结果对比Fig.5 Comparison of convergence results of visual servo

图5(b)中外圈圆为EBVS收敛时刻的ROI.图5(c)为伺服过程中相机中心的三维轨迹,IBVS与EBVS都能够实现对圆周运动目标的跟踪,然而,在跟踪圆周运动的过程中IBVS出现了漂移.尽管EBVS始终处于较好的跟踪状态,但跟踪轨迹存在一定抖动,这是由于事件流相比图像数据具有更多的噪声,在EBVS高频反馈下,造成了控制量出现抖动.

IBVS和EBVS的特征误差以及机械臂关节角的仿真结果如图6与图7所示.图6(a)与图7(a)表示归一化特征误差随时间的变化,图6(b)与图7(b)表示机械臂各关节角随时间的变化情况.仿真结果显示,两种视觉传感器的收敛时间相近,说明视觉伺服的控制周期长短对对收敛时间影响较小.

图6 基于图像的视觉伺服结果Fig.6 Results of the IBVS

图7 基于事件的视觉伺服结果Fig.7 Results of the EBVS

然而,在伺服收敛阶段,使用这两种视觉传感器所形成的震荡程度是不同的,EBVS最终的稳态误差约为0.01,对于IBVS则约为0.017,且存在速度突变的风险.这是因为在设计目标速度补偿时,假设了目标在相邻两个周期的速度相同,但这在实际情况下是很难满足的.当控制周期较长时,目标在下一时刻的速度已经发生较大变化,造成了跟踪精度较低.从这个角度来看,使用事件相机可以很轻松的达到高帧率的视觉反馈,能够为机械臂伺服跟踪系统提供有力跟踪保证,从而实现较高精度的伺服跟踪.但需要注意的是,这需要2.4节调节策略的支撑,否则在特征误差极小时,事件相机可能无法形成足够的事件用于进行特征检测.

4 实验验证

所使用的地面实验系统包括AUBO-i5六自由度机械臂,CeleX-V事件相机[18]以及工控计算机,上位机软件基于ROS2开发.针对CeleX-V参数标定,首先使用其灰度功能采集图像帧,使用张正友标定法[19]与Tsai-Lenz法[20]分别对其内参、外参进行标定.运动目标视觉伺服与跟踪地面实验场景及实验过程如图8所示.

图8 运动目标视觉伺服实验过程Fig.8 Experimental process of servo tracking of moving targets

目标在二维平面内多次进行快速运动.启动特征检测模块与机械臂视觉伺服模块后,机械臂根据事件相机检测到的特征信息向目标趋近.伺服过程中,目标每进行一次运动,机械臂便会立即跟随同一方向移动,从而使特征误差快速趋近于零,最终使圆形特征移动至图像中心.

图9展示了其中一次地面实验的特征误差变化曲线,特征跟踪误差能在3 s内收敛,说明所设计的圆形特征检测与跟踪算法以及机械臂视觉伺服方法是合理且有效的.

图9 基于事件的视觉伺服地面实验结果Fig.9 Experiment results of the event-based visual servo

5 结 论

本文提出一种应用于事件相机的基于拟合的圆形特征检测与跟踪算法,在该算法的基础上,研究了基于规划化重心-面积特征的空间机械臂视觉伺服方法,设计了具有前馈速度补偿的视觉控制律并论述了在跟踪运动目标时,事件相机的高时间分辨率特性能够提高伺服控制精度.仿真实验结果表明,提出的特征检测与跟踪算法能够在获得高跟踪成功率的情况下实现高帧率特征检测反馈.进一步的,事件相机的高帧率反馈也增加了视觉伺服的收敛精度.地面实验中,机械臂在事件相机的驱动下能够快速收敛至目标位置附近,验证了基于事件的视觉伺服的可行性.本文所提出的方法推动了事件相机在空间机械臂感知与控制领域的应用.未来将进一步探讨事件相机在太空环境下的其他应用模式,改进和提升特征检测与跟踪算法在复杂空间环境下的跟踪精度,设计变步长自适应控制律以适配事件相机的视觉反馈信号.

猜你喜欢
圆形机械矩阵
调试机械臂
简单机械
为什么窨井盖大多都是圆形的
肥皂泡为什么是圆形?
圆形题
圆形变身喵星人
初等行变换与初等列变换并用求逆矩阵
按摩机械臂
矩阵
矩阵