刘圭圭,樊炳辉,王传江,张凯丽
(山东科技大学 机器人研究中心,山东 青岛 266590)
摘要:为帮助上肢活动不便的老人、残疾人完成自主进食等行为,开发了一套基于双目视觉的助老助残机器人定位系统。通过蓝色激光引导实现对双目相机视野范围内任意物体的定位。采用多自由度助老助残机器人和Bumblebee2立体视觉系统构建定位实验系统,定位误差在1.2 cm范围内,满足对助老助残机器人定位精度的要求。
关键词:双目视觉;助老助残;机器人;定位
0引言
助老助残机器人即为帮助那些身体功能缺失或严重丧失的老人、残疾人实现独立生活的一类机器人。双目视觉即为通过位于不同视角的两个相机模拟人类视觉原理,实现对空间中三维物体的定位。双目视觉已广泛应用于机器人导航、场景重建、虚拟现实等领域[13]。
本文简单介绍了双目视觉原理,利用多自由度助老助残机器人和Bumblebee2立体视觉系统构建的定位系统,进行了空间三维定位实验。
1双目视觉原理
本文采用平行光轴双目视觉,其原理如图1所示。左右两台完全相同的相机精确位于同一平面上,主光线严格平行,相对位置固定,主点(clx,cly)和(crx,cry)在左右两幅图像上具有相同的像素坐标。T(基线长度)为两台相机中心之间的距离。左右相机成像平面坐标系分别为OlXlYl和OrXrYr,双目相机坐标系为OXYZ。坐标系OXYZ中任一点P(x,y,z)在两成像平面坐标系中分别对应为点Pl(xl,yl)和点Pr(xr,yr)。点P在两幅图像中的y坐标值是一样的,即yl=yr=ylr。根据三角几何原理和小孔成像原理可得式(1):
假设d=xl-xr,d称之为视差(即为同一个空间点在两幅图像中位置的偏差),代入式(1)即可计算出点P在相机坐标系下的三维坐标,如式(2):
2实验平台
实验平台主要包括多自由度助老助残机器人和Bumblebee2双目视觉系统两个部分。整个实验平台的硬件结构如图2所示。
2.1助老助残机器人系统
多自由度助老助残机器人如图3所示。结构图中1、2、3为伺服电机,PC通过USB转CAN总线的方式对其发送控制命令;4、5为数字舵机,通过USB转RS485的方式对其施行控制;6为直流电机,通过USB转RS232与CortexM3底层控制器进行通信,之后由底层控制器对其进行控制操作。机械臂的DH[4]参数模型如表1所示。
2.2双目视觉系统
Bumblebee203s2c是Point Grey Research公司的一款立体视觉产品。采用两个Sony CCD芯片,分辨率为640×480,具有高速1394A接口,全视场深度测量,实时3D数据转换(3D点100万像素/s),相机位置偏差和镜头畸变可以自动校正,配套有灵活的软件开发工具。
Bumblebee2左右两相机之间的基线长度为12 cm,每个相机的视场角为66°。根据上述两个参数,可得双目相机视场范围。图4为实测坐标系OXYZ的位姿。
2.3二者之间的位置关系
图5为双目相机坐标系odxdydzd与世界坐标系oxyz之间的位置关系,图中相机可绕xd轴旋转(θ)。由图中几何关系及坐标变换公式[5]可知,在相机坐标系下的坐标P=[pxpypz1]T,转换到世界坐标系下的坐标为[153-py×sin(θ)-pz×cos(θ),px+568,pz×sin(θ)-py×cos(θ)-286,1]T。
3助老助残机器人定位实验
3.1双目视觉定位精度实验
将Bumblebee2相机固定,在其正前方沿垂直于相机平面的直线移动目标物来测量Z的值,测量范围为260 mm~1 000 mm,相邻两次测量位置间隔为20 mm。同样的,在Z=750 mm,垂直于Z轴的平面上对X、Y值分别进行测量。为防止偶然误差的出现,采用同一位置测量10次取平均值的方式来确定测量结果。真实值与测量值(部分)如表2所示,各分量误差关系曲线如图6所示。由表2可知,双目视觉定位误差在5 mm范围内。
3.2助老助残机器人末端定位精度实验
室内环境下,通过鼠标选择目标物的方式进行了3组实验,目标位置在相机坐标系、世界坐标系中的坐标以及通过运动学逆向求解[67]获得的各关节实际坐标,如表3所示。表3中误差计算公式为:
由表3可知,助老助残机器人末端定位误差在1.2 cm范围内,满足实验要求。
3.3实验效果
实验过程中通过蓝色激光笔的引导来选择定位目标,通过阈值分割等方法[89]进行数字图像处理,主动确定激光点所指目标点位置。实验效果如图7所示。图中目标位置在相机坐标系下的坐标(单位:mm)为(-37.21,-17.03,264.33),在世界坐标系下的坐标为(270.41,530.79,-523.43),而手臂末端在世界坐标系下的实际坐标为(262,532,-520),误差为9.16 mm,满足实验精度要求。除此之外,可以通过人嘴部识别[10]
对嘴部进行定位,还可以通过模板匹配方式来定位某一特定物体。
4结论
本文应用双目视觉对助老助残机器人的操作目标位置进行定位,并对定位精度进行了实验,精度限定在5 mm范围内。配合机械臂的运动,末端定位精度在1.2 cm范围内,满足实验要求。但系统仍有需要改进的地方,比如控制器携带不方便,激光斑指引方法易受环境光照的影响等。
参考文献
[1] 丁良宏,王润孝,冯华山,等.立体视觉测程研究进展[J].机器人,2011,33(1):119128.
[2] 李丹程,刘景明,姜琳颖,等.基于栅格模型的双目移动机器人三维场景重建[J].小型微型计算机系统,2012,33(4):873877.
[3] 徐宇杰,管会超,张宗卫,等.基于人眼视觉原理的虚拟现实显示模型[J].计算机应用,2015,35(10):29392944.
[4] DENAVIT J, HARTENBERG R S. A kinematic notation for lowerpair mechanisms based on matrices[J].Journal of Applied Mechanics ASME Transactons, 1965,22(2): 215221.
[5] 蔡自兴.机器人学(第三版)[M].北京:清华大学出版社,2015.
[6] 马汉波,颜钢锋.基于DSP和FPGA的多轴运动控制系统设计[J].电子技术应用,2013,39(3):3436.
[7] 蔡自兴.机器人学基础[M].北京:机械工业出版社,2009.
[8] KRSTINIC D, SKELIN A K, MILATIC I, et al. Laser spot tracking based on modified circular hough transform and motion pattern analysis[J]. Sensors, 2014, 14(11):2011220133.
[9] 曹世康,李东坚,许瑞华,等.基于最优弧的激光光斑中心检测算法[J].红外与激光工程,2014,43(10):34923496.
[10] 勒薇,张建奇,张翔.基于局部梯度算子的嘴部检测与定位[J].光电工程,2009,36(10):135140.