论文部分内容阅读
当处于强辐射的环境下时,出于对工作人员的保护,通常需要使用专用的机械装置来替代人类进行作业,核环境操作机械臂即是其中一种。当出于操作空间或任务等要求,机械臂被设计得很长且比较细时,机械臂容易因自身刚度不足而在运动时引起振动。常规环境下的振动检测,当前已经有许多方法,但是在极端环境(如高温、强辐射等)下,传统的检测传感器往往无法使用,而基于视觉的检测系统具有更强的抗干扰能力以及更好的检测性能。基于上述背景,本文研究基于视觉的振动检测算法及其实现方案。为了实现帧间位移序列的检测,本文结合FAST(Feature from Accelerated Segment Test)角点和KLT(Kanade-Lucas-Tomas算法)算法,实现了快速的检测算法。可以实现帧间位移序列检测的算法常用的有背景差分法、帧间差分法、Mean-Shift算法及KLT算法等。因为在实际的运用场景中,相机处于机械臂的末端且随机械臂一起运动所以不能满足背景差分法和帧间差分法要求相机固定的条件;另外,可观测目标中也没有明显可识别的颜色区域,这限制了Mean-Shift算法在这一场景中的运用。鉴于上述原因,文中使用了KLT算法来实现帧间位移序列的检测。然而KLT算法也有自身的缺陷:计算过程涉及到了大量的浮点运算;这使得KLT算法在实际应用中会占用大量计算资源进而使得KLT算法在计算能力弱的平台下无法使用。基于机器学习的FAST角点算法使用了决策树来选取特征点;这一方法被证明是快速可靠的特征点选取算法。所以文中使用了FAST角点替代KLT特征点作为KLT算法的跟踪特征。而在具体实现时,为了借助平台的特性进一步提高该算法的运行速度,文中也使用SSE(Streaming SIMD Extension)指令集对KLT算法的跟踪部分进行了修改。经在Windows系统下验证,上述更改能够有效加快算法的运行速度且更改后的实验结果能够满足要求。最后,将整个算法移植到了QNX系统下,并进行了实际测试;测试结果表明对KLT算法的更改能够有效提高其在QNX系统下的运行速度。另外,为了实现图像采集,在算法实现过程中,还根据UVC标准在QNX系统下开发了USB摄像头驱动程序。该驱动程序能够稳定的实现图像采集。