当前位置:首页 > 专题范文 > 公文范文 >

基于双目视觉的助老助残机器人定位系统研究

时间:2022-10-20 20:25:02 来源:网友投稿

zoޛ)j馟iLu~?u
tӍ}׽6N<ӟ춶	afr׫{^-כjǝ{-z+材料为PVDF压电薄膜的滑觉传感器。

1.4 控制系统

助老助残机器人控制系统工作原理框图见图3。

本系统采用PC机作为主要控制器,主要负责视频采集、图像处理、坐标变换、逆向反解、发送控制指令。此外,系统采用ARM⁃Cortex M3内核的STM32F103C8T6和重力加速度陀螺仪传感器MPU⁃6050控制机械臂手部的平衡。

2 助老助残机器人定位方法

本系统采用基于立体视觉和数字图像处理的定位方法。首先,对双目相机中的右相机采集到的图像进行处理,检测出激光斑的位置。根据双目立体视觉理论方法获得激光斑的立体三维坐标,相机转动到朝向人的位置后,通过对右相机图像的处理,检测出人嘴部的位置。根据双目立体视觉得到人嘴部位置的三维坐标,得到激光斑位置的三维坐标和人嘴部位置的三维坐标都可以通过笛卡尔坐标系变换转换到机械臂坐标系下的空间位置。

2.1 目标位置三维定位

本系统采用的双目立体视觉模型为平行光轴双目立体视觉模型,理想的双目相机模型如图4所示,相机坐标系建立在右相机上,x,y,z坐标轴方向如图4所示。左、右两相机相隔一定距离摆放,同时拍摄同一视场中的内容,根据目标在左、右两幅图像中的对应关系结合相机内外参数即可得到目标在相机坐标系中的坐标。基于理想双目相机模型的双目立体视觉目标位置三维定位过程如图5所示。首先通过低通滤波器对原始输入图像进行滤波,接下来用张正友平面标定算法获得的双目相机内外参数来消除图像畸变,得到无畸变图像[5]。然后进行双目相机的立体校正得到行对准的左右校正图像,接着进行立体匹配。对于右图像中的每一个像素,按照给定的正方形尺寸选择一个邻域范围,将这个范围与左图像中的一系列邻域进行比较,从而找到最佳的匹配。最后根据立体匹配得到的视差图获得深度图,进而得到激光斑中心位置或人脸嘴部位置的3D信息。

2.2 激光斑位置检测

本系统采用的激光斑检测算法为阈值分割法。阈值分割可以在多种不同的颜色空间下进行,如灰度,RGB,HSV,CMY,HIS等。本系统应用环境较复杂,不是单一背景,经过大量的实验比较,本系统最终选用HSV颜色空间,通过色调、饱和度、亮度三个条件来设定阈值。彩色相机输入的图像格式一般为RGB格式,首先需要将RGB颜色空间的图像转换为HSV颜色空间。HSV颜色空间的各个分量取值范围为。为了避免小数操作,现将理想HSV模型进行缩放,使得各个分量范围为,即将RGB转化成HSV的公式如下:

为了获得适合实验用激光器所发出激光的HSV阈值范围,需要做些采样。表1为对红色激光斑(不包括衍射部分)的多次采样数据。

根据实验采样数据对H,S,V分别设置上下阈值为(20,40),(170,230),(250,255)。用该阈值对源图像进行阈值分割将得到激光斑区域。

区域中心定位算法主要有重心法、高斯拟合法、圆拟合法、空间矩法、改进圆Hough变换法、二维高斯分布法、椭圆拟合法等,这些方法在激光斑中心定位方面得到了广泛应用[6⁃9]。实验过程中发现各种方法得到的效果类似,本系统选用计算复杂度相对较低的重心法。

在经过阈值分割得到的二值图中,假设目标区域为A,对应灰度图的像素值为255,背景区域为B,对应灰度图的像素值为0,则有:

接着建立映射关系如下:

激光光斑在图像中的中心坐标(object.x, object.y)可由下式得到:

2.3 嘴部位置检测

本系统假定在进行嘴部检测时,相机视场中只有一个人脸。首先通过基于Adaboost算法检测出人脸部的位置[10]。通常人的嘴部在脸部中心位置以下的处,通过这个已知的条件进一步对脸部处的位置附近的区域,采用迭代閾值法对该区域进行阈值分割。然后用阈值分割结果的最小外接矩形[11]的中心来表示嘴部位置。

3 实验分析

3.1 硬件平台

本系统以自主研发的多自由度机械臂为执行机构,声控红色激光笔为激光引导装置。硬件系统见图6。

3.2 软件系统

定位程序流程图如图7所示。

3.3 实验结果

嘴部定位结果图见图8,激光点位置定位结果图见图9。

图8中的各部分分别为:左相机源图像、右相机源图像、深度图、嘴部检测结果图、连续多次实时测量结果(单位:cm)以及当前嘴部位置在相机坐标系中的三维坐标。双目相机坐标系建立在右相机上,因此深度图和嘴部检测图亦以右相机源图像为基准。嘴部检测图中通过矩形和圆形标出了人脸部检测的位置,用小点标记出了人嘴部的位置。图9中各部分分别为:左相机源图、右相机源图、深度图、激光点识别图、激光点阈值分割的二值图,以及连续多次和最新一次的激光所指目标位置在相机坐标系中的三维坐标(单位:cm)。

3.4 结果分析

图8中9组结果的x,y,z的变化见图10。

本系统通过激光引导的人机交互方式,能够随意定位任何双目相机视野范围内的任意物体,并能得到较理想的定位精度结果。该结果可以直接发送给控制系统,通过坐标变换、关节反解等步骤得到各个自由度的运动角度,控制助老助残机械手运动到指定位置,进而完成抓取等动作。

系统还可以定位人嘴部空间位置,控制机械手完成喂食等动作。以后可以尝试对于某些特定物体的识别定位,通过语音等人机交互方式让操作者自主决定要定位的目标,省去了固定在人头部激光笔的使用。为了对结果进行定量分析,取9组结果的平均值为准确结果,则定义平均绝对误差err如下:

根据实验结果得平均绝对误差err=0.329 7 cm,完全符合实验精度要求。定义平均相对误差err_c如下:

根据实验结果得平均相对误差err_c=0.42%。

同样的方法得到图9中10组实验结果对应的平均绝对误差为err=0.146 3 cm,平均相对误差err_c=0.15%,同样符合实验要求。实验过程中可以实时读取目标位置的空间坐标作为控制信号的输入,当然为了获得更准确的结果,可以多取几次结果,对连续多次结果处理之后再作为控制信号的输入。单独的双目立体视觉空间定位系统的嘴部定位每处理一帧需要时间190 ms,激光光斑定位每处理一帧需要时间130 ms。实验结果之所以没有和实际测量的三维坐标进行比较,是因为相机的坐标中心在相机的内部,不好确定。再者就是进行物理测量的过程中随机误差不可避免。只要定位结果稳定,即可通过实验在控制模块中加入适量补偿来保证机械手运动位置的精度。实际控制机械臂完成指定动作的试验效果如图11、图12所示。

4 结 语

本文设计完成了基于立体视觉的助老助残机器人定位系统。通过激光引导的人机交互方式,能够定位双目相机视野范围内的任意物体,并能得到理想的定位精度结果。机械臂可以在手部保持平衡的情况下完成抓取动作。系统还可以控制机械手将抓取物准确地送至病人嘴边。本系统操作方便,成本低,适用于家庭和医院等场合。

参考文献

[1] 邓志东,程振波.我国助老助残机器人产业与技术发展现状调研[J].计算机技术与应用,2009(2):20⁃24.

[2] 陈贵亮,孙立群,刘更谦.基于LPC2132控制步进电机在康复机器人中的应用[J].现代电子技术,2013,36(18):168⁃170.

[3] 李华宝,谭慧玲,杨恋,等.一种新型的表面肌电检测与训练系统的软硬件设计[J].现代电子技术,2012,35(10):175⁃177.

[4] 王冬,夏乙,殷木一,等.基于OpenCV的摄像机标定方法实现[J].现代电子技术,2013,36(8):97⁃100.

[5] 樊炳辉,张发,王传江,等.基于双目视觉的人机交互式机械手控制系统和控制方法:中国,CN103271784A[P].2013⁃09⁃04.

[6] 王丽丽,胡中文,季杭馨.基于高斯拟合的激光光斑中心定位算法[J].应用光学,2012,33(5):985⁃990.

[7] 冯新星,张丽艳,叶南,等.二维高斯分布光斑中心快速提取算法研究[J].光学学报,2012,32(5):70⁃77.

[8] 曹世康,李东坚,许瑞华,等.基于最优弧的激光光斑中心检测算法[J].红外与激光工程,2014,43(10):3492⁃3496.

[9] KRSTINIC Damir, SKELIN Ana Kuzmanic, MILATIC Ivan, et al. Laser spot tracking based on modified circular Hough transform and motion pattern analysis [J]. Sensors, 2014, 14(11), 20112⁃20133.

[10] 张宁,李娜.基于Adaboost算法的人脸检测技术的研究与实现[J].现代电子技术,2011,34(14):4⁃6.

[11] 张法全,王国富,曾庆宁,等.利用重心原理的图像目标最小外接矩形快速算法[J].红外与激光工程,2013,42(5):1382⁃1387.

推荐访问:助残 双目 机器人 定位系统 视觉