展望未来,机器视觉防爆机器人的发展
作者: / / 阅读人数:0
排爆机器人( EOD robot) 是一种可以遥控操作的地面移动机器人,一般由一个机械手和一个可移动平台组成,主要用于拆除疑似爆炸物品,以减少作业现场人员伤亡,是目前军警方面使用的较先进装备之一。目前国际上主要流行美国 Remotec 公司的Andros 系列排爆机器人、法国 Cybernetics 公司研制的 TRS200中型排爆机器人等。排爆机器人的排爆工作需要专业的排爆人员操作,排爆人员通过排爆机器人实时传回的现场图像进行排爆作业,所以对采集图像的实时性要求很高。由于排爆机器人一直在运动,操作人员很难不断调整摄像头角度来跟踪目标,于是武汉艾崴研发于最新的计算机视觉技术辅助摄像头实时跟踪目标物,从而减轻了操作者的操作难度。
一、整体结构设计
排爆机器人完成工作需要机器人机械平台、硬件控制电路及 PC 端上位机的协同工作, 总体结构示意图如图1所示。
整个平台由 2节12V锂电池供电,通过操作员在上位机端发送动作指令控制排爆机器人行走或者抓取目标物,无线摄像头采集的图像传至电脑端的上位机,通过视觉算法处理获得摄像头云台的转动量,从而调整摄像头采集画面的角度,实现目标物的实时跟踪。
二、 平台结构设计
排爆机器人平台结构可以分为机械手机构、行走机构和摄像头云台机构。
2. 1 机械手机构设计
传统的机械手由底座、手臂、爪子三部分组成. 每个关节之间以电机连接,当电机转动时带动手臂的运动。这样的设计有个缺点,如果主臂上的负载过大,机械手将无法抓取。于是采用新型的设计方案,用直线运动的电动推杆来做主臂的动力。机械结构如图 2 所示。
2. 2 行走机构设计
为了使排爆机器人能够到达爆炸物放置地点,它必须有较强的地形适应能力。传统的轮式底座通过性不强,无法适应复杂地形,所以行走机构采用了适应能力较强的履带座。
2. 3 摄像头云台机构设计
排爆机器人通过摄像头采集图像使操作者可以直观地控制机器人的动作,摄像头实时传送给操作者需要的图像至关重要。于是需要设计一个结构可以使摄像头做灵活的摆动,从而获得最佳画面。将摄像头固定在一个摆臂上,摆臂底端固定在一个旋转的底座上,这样的设计可以实现 x,y,z 3 个方向的自由转动,从而捕捉到最佳的画面。
三、 硬件电路设计
排爆机器人底座上安装 2 只直流减速电机,实现全方位运动,由 2 只电动推杆中的直流电机提供机械臂的动力。控制这些部件需要一个电机驱动器。排爆机器人的 MCU 采用基于 Cortex - M3 内核的 STM32 芯 片. 该芯片最高主频可达 72 MHz,可对信息进行快速、及时的处理. 电机驱动芯片采用了 L298N,最高支持20 W 的负载。 无线信息交互采用了基于 ZIGBEE 技术的无线串口,该串口传输距离大、能耗低。系统整体结构见图 3。
四、计算机视觉辅助控制策略
4. 1 OpenCV 简介
OpenCV 于 1999 年由 Intel 建立,现在由 Willow Garage 提供支持. OpenCV 是一个基于 BSD 许可证授权( 开源) 发行的跨平台计算机视觉库,可以运行在 Linux、Windows 和 Mac OS 操作系统上。它轻量级而且高效———由一系列C函数和少量C + + 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV 主要用于对图像的一些高级处理,比如特征检测与追踪、运动分析、目标分割与识别以及 3D重建等。与其他视觉工具比,OpenCV 的优越性如表1所示。
4. 2 目标跟踪算法
目标跟踪是计算机视觉的一个重要分支,该技术在医疗、军事、教育等领域都有着广泛的应用。实现目标的关键在于完整地分割目标、合理提取特征和准确识别目标,同时还要考虑实现的时间,保证实时性。
在该项目中采用 Garry R. Bradski 提出的 CAMSHIFT( continuously adaptive mean shift) 算法。该算法以颜色的直方图为目标模式的目标跟踪算法,即使目标出现变形和部分遮挡也可以应用,而且运算效率很高。
CAMSHIFT 算法简要流程:
1) 初始化目标模型、候选区域、候选区域中心位置 y0.
① 计算目标区域的 hue 分量图的直方图,
cvCalcHist( &hue,hist,0,mask) ;
② 初始化候选区域,y0 即候选区域的中心坐标,
track - window = selection.
2) 根据目标模型的直方图计算权值,将当前帧转换为反向投影图, cvCalcBackProject( &hue,backproject,hist) ;
cvAnd( backproject,mask,backproject,0) ;
3) 计算新的目标候选位置 y0( mean shift 算法)。
① 按式( 2) 计算新的目标位置 y1;
② 令 d = ‖y1 - y0‖,y0 = y1,设 ε 为误差阈值,N 为最大迭代次数.
如果 d < ε 或者 k≥N,则迭代结束,返回新的目标位置 y0; 否则 k = k + 1,跳到①。
图 4 是调试 CAMSHIFT 算法识别目标物的截图。
应用 CAMSHIFT 算法前需将爆炸物的图像由 RGB 颜色空间转化到 HSV 颜色空间,图5 为CAMSHIFT算法流程。首先选择大小为 S 的爆炸物图像作为初始搜索窗口,然后对该窗口中每个像素点的H通道上采样,得到色调直方图; 最后将该直方图保存下来作为搜索目标的颜色直方图模型,在目标跟踪过程中,对摄像头采集到的图像的每个像素通过查询目标颜色直方图,得到该像素为目标像素的概率。经上述预处理,视频中每一帧图像都转化为目标颜色概率分布图,也成为目标颜色投影图。
4. 3 摄像头随动设计
当摄像头采集到目标爆炸物时,操作者在上位机端圈出目标物所在区域作为初始搜索窗口。通过 CAMSHIFT 算法可以得到目标物在摄像头采集图像窗口中的位置,从而计算出目标物所在区域离图像窗口中心点的偏移量 Δx、Δy。将所得的偏移量转化为摄像头云台的转动量,使云台跟随目标物转动,从而使目标物可以保持在摄像头采集画面窗口的中心位置。
调试过程中出现跟随不及时现象,经检验为主控芯片多任务操作性能不佳。决定采用双主控芯片方案,由一片单独的芯片负责摄像头云台的随动动作,检验证明随动性能有明显提高。图6为摄像头随动流程图。
这款新型排爆机器人基于创新的机械平台设计,可以轻松穿越复杂地形,灵活地抓取重物。应用了最新的计算机视觉技术,经调试证明操作者能及时地得到目标物的画面,从而轻松地操作机器人进行排爆作业。