APP下载

基于Arduino 模块化机器人视觉系统的研究与设计

2014-09-07张森林

关键词:移动机器人舵机摄像机

孙 梅, 张森林

(湖南同德职业学院 机械与电气工程系, 湖南 常德 415100)



基于Arduino 模块化机器人视觉系统的研究与设计

孙 梅*, 张森林

(湖南同德职业学院 机械与电气工程系, 湖南 常德 415100)

基于视觉系统的移动机器人是近年来机器人研究领域的热点,机器人视觉在自动化生产中也变得越来越重要.本文以移动机器人为载体,重点研究并设计了一套移动机器人视觉系统,以视觉系统在移动机器人中的应用为主线,简单介绍了视觉系统中摄像机标定,着重阐述视觉系统对目标的识别与定位以及视觉系统在移动机器人的应用.文中所设计的移动机器人采用Arduino MEGA2560单片机作为主控芯片,负责测距传感器数据采集、定位传感器位置确定、视觉系统伺服控制、驱动电机以及驱动舵机转向等.试验验证移动机器人能准确的运动到目标物体位置,很好的完成既定的任务,移动机器人的视觉系统有效可靠.

移动机器人; Arduino; 视觉系统; 图像分割与识别

自主移动机器人是机器人学中的重要分支之一,随着自动化技术的不断进步,移动机器人迎来了跨越式的发展.随着生产加工自动化程度的加大,机器人视觉系统在自动化生产中越来越重要.对机器人来说,视觉系统的加入不仅能提高机器人的智能化程度还能提高机器人的环境适应能力和自主能力.移动机器人的视觉系统中,要从二维的平面图像信息提取出三维空间坐标信息就需要基于摄像机的标定技术来完成,并且摄像机的标定精度直接影响到机器人视觉系统的后续工作[1].系统在分析摄像机内外参数模型和镜头模型的基础上,利用棋盘格标定摄像机内部参数,为实现视觉系统的目标定位奠定基础.对目标的识别和定位是机器人视觉系统的重中之重,视觉系统在捕获目标后,根据所拍彩色图像的颜色特征进行图像分割,分割图像后利用边界跟踪算法提取轮廓进行目标定位.最后结合移动机器人的定位和识别提出了基于视觉的移动机器人视觉伺服控制结构.

1摄像机标定技术

机器人视觉系统由摄像机获取现实信息,而现实世界是三维的,摄像机所拍摄图像是二维的,要计算视觉系统视野范围内物体的形状和大小,就需要建立现实世界中物体与其图像的几何位置关系,这些位置关系由视觉系统所用摄像机的成像几何模型所决定的.摄像机标定就是计算成像几何模型参数的过程.摄像机标定技术按照是否有标定物以及摄像机是否运动可分为:基于标定物的方法、基于主动视觉的标定方法和自标定方法等三大类.而自标定其实是利用了摄像机内部参数自身存在的约束关系,而这些约束条件与标定物和摄像机的运动无关,因此,自标定的方法更为灵活.摄像机的标定分为两大部分:外部参数的标定和内部参数的标定,外部参数是现实世界的参考坐标到系统所用摄像机参考坐标的位置偏差和角度旋转;而内部参数则是摄像机的参考坐标到所拍图像坐标中成像点的对应关系[2].

本文采取的标定方法较为实用,首先将打印的黑白相间的棋盘贴在物体表面以此作为标定物,然后设定行列格数及采集图像帧数,通过摄像机拍摄不同角度或位置的标定物图像,最后经图像处理及计算就可以得到摄像机标定的内外参数.具体流程不再详述.

2基于颜色的目标区域分割与识别

机器人视觉系统的主要任务之一就是识别出目标物体,只有准确的识别出所定位的目标物体,后续的工作才有意义.而获取目标物体的关键是如何选取目标物体的最佳特征,文中基于目标物体的颜色特征进行识别目标,进而对锁定的目标区域分割,提取目标物体的轮廓,为视觉系统后续工作打下精确的基础.

2.1颜色模型选取

在目标物体的识别中,常从物体的颜色、形状、纹理等特征进行研究,抽取区分度强的特征作为物体识别的依据.在众多的物体特征中,颜色是最为有效的特征,因为颜色是图像组成的基本要素,并且是识别过程中最为感官的特征.颜色作为最容易分析的特征在物体识别中起着举足轻重的作用.

对颜色特征的表示是基于所用的颜色模型,在图像处理过程中,广泛使用的颜色空间模型主要有RGB颜色模型和HSI颜色模型等.面向硬件的RGB颜色空间在实时应用时有较大的优势,但在图像分割应用中有一定的缺陷,因为在三个颜色的分量中都含有光源的亮度,而亮度的变化会影响三基色的分量,所以此模型不太适宜作为图像分割的颜色模型.HSI颜色模型的表示方法与人对颜色的感知是一致的,彩色图像在HSI的颜色模型中利于图像分割和目标识别,所以系统采用HSI颜色模型进行图像分割和目标识别,由于摄像机所拍摄的图像以RGB格式存储,所以在进行相关的图像处理之前,需要把RGB颜色模型转化为HSI颜色模型[3].

RGB颜色模型到HSI颜色模型的转换公式如下所示[4]:

(1)

(2)

(3)

由式(1)计算出的H值会在[0,360]之间,超出了H的数值范围,需要将H*255/360进行转化一下;另外当S=0时没有颜色与之对应,此时H也是没有意义的,这里定义H=0;当I=0或1时,S也是没有意义的.

2.2颜色识别

在HSI颜色模型中,亮度是最容易受到外界环境的干扰特别是在光照变化幅度较大的场所,为了减少外界光照的干扰,系统在采用颜色特征识别目标时,着意减少亮度I的权限值.颜色模型主要以色度和饱和度作为识别物体的主要依据.

颜色直方图是在许多图像检索系统中被广泛采用的颜色特征.它所描述的是不同色彩在整幅图像中所占的比例,而并不关心每种色彩所处的空间位置,即无法描述图像中的对象或物体.颜色直方图特别适于描述那些难以进行自动分割的图像.文中采用基于色度和饱和度颜色直方图的图像分割方法,首先利用直方图对目标物体的颜色分布进行统计,根据统计结果设定图像分割的阈值,根据设定的阈值完成所拍图像的分割.分割后的结果如图1所示.

图1 目标物体图像分割Fig.1 Target object segmentation

2.3目标物体轮廓提取

边界能大体上勾勒出物体的轮廓,所以目标物体的轮廓对图像的识别是很重要的.文中采用边界跟踪算法提取目标物体的轮廓,算法的流程如下[5].

1)选取图像的最左下方的像素点作为起始点;2)当找到起始点后,把起始点纪录下来,定义初始的跟踪方向是左上方0方向,判断该点是否为目标点,是则把该点作为跟踪的起始开始点,逆时针旋转90°作为新的跟踪方向,继续检测新的跟踪方向上的点;3)若不是目标点则沿顺时针旋转45°,直到找到目标点;4)找到目标点后,在当前跟踪方向上的基础上,逆时针旋转90°作为新的跟踪方向,用同样的方法跟踪下一个边界点,直到回到起始点为止.文中利用边界跟踪算法对分割后的二值图像进行轮廓提取,结果如图2所示.

图2 目标物体轮廓提取Fig.2 Target object contour extraction

3移动机器人视觉伺服控制

视觉系统是机器人运动控制系统中的一个部分,通过视觉系统的获取和分析图像为移动机器人的运动控制提供合理的策略.文中所设计的移动机器人采用Arduino MEGA2560单片机作为主控芯片,Arduino MEGA2560采用USB接口与上位PC机进行数据传输.Arduino MEGA2560的处理器核心是ATmega2560,具有54路数字输入/输出口(其中16路可作为PWM输出),16路模拟输入,适合需要大量I/O接口的设计[6].主控芯片负责测距传感器数据采集、定位传感器位置确定、视觉系统伺服控制、驱动电机以及驱动舵机转向等.

3.1电机驱动模块

系统采用RS-380SH型直流电机作为移动机器人的动力装置,为了避免直通短路且保证各开关动作的协同性和同步性,模块采用桥式驱动器MC33886对电机进行驱动.直流电机的转动状态取决于加在电枢上的电压,两端电压的极性决定电机的转向,电压的大小影响电机的转速.通过脉宽调制(PWM) 方式模拟电压极性变化,以达到控制电机正反转的目的,利用MC33886控制H桥通断控制小车前进的速度.

驱动电路对两块MC33886并联使用,并将单片机的PWM2和PWM3、PWM4和PWM5两路8位寄存器合成16位寄存器使用,这样可以提高模糊控制的精度.

3.2舵机转向模块

舵机转向控制模块采用FUTABA-S3010型舵机完成转向控制功能.控制舵机的脉冲信号由Arduino MEGA2560单片机的PWM0和PWM1级联提供.在单片机为24 HZ的时候,设置级联PWM周期常数为60000,对应PWM周期为20 ms, PWM占空比常数为4500,对应输出为1.5 m/s.改变占空比常数就可以改变输出脉冲的宽度.脉冲信号的宽度决定舵机输出舵盘的角度.

经多次转向实验,在输入信号为50 HZ,即PWM的周期为20 ms时,舵机的转角与输入脉宽成线性关系.高电平为1 500 μs时,舵机的转角为0度;高电平为1 900 μs时,舵机转角为右向45度;高电平为1 100 μs时,舵机转向为左向45度舵机的转角与输入脉宽的关系图如下图3所示:

图3 舵机转角与输入脉宽关系图Fig.3 Steering angle and input pulse diagram

3.3视觉伺服模块

移动机器人运动执行部分采用反馈控制形式即为观察-移动系统,视觉系统为移动机器人运动控制器提供输入信息,视觉系统采集周围图像信息,经加工处理后作为移动定位的参考[7].由于系统采用的底层控制核心Arduino MEGA2560处理能力有限,不能采用实时的视觉控制系统,综合考虑,系统采用先静态位置识别然后移动控制的伺服结构.视觉系统伺服控制示意图如图4所示.

由图4可知:移动机器人通过摄像机采集图像信息,图像信息经加工处理后,识别并锁定目标物体,通过视觉控制器产生控制信号输入移动机器人的运动控制单元,在运动控制单位的驱动下并结合传感信息反馈,向目标物体移动,最终完成既定的任务.

图4 视觉系统伺服控制示意图Fig.4 Visual servo control system schematic

4视觉系统测试

在没有障碍物的室内随意放置一个红盒,让移动机器人自主行驶利用视觉系统锁定目标物体小红盒,然后运动到目标处.搜索结果如图5所示.

图5 试验结果Fig.5 Test results

所设计的移动机器人能准确的运动到目标物体位置,可以看出移动机器人能很好的完成既定的任务,说明移动机器人的视觉系统有效可靠.

5总结

本文主要研究和设计了移动机器人的视觉系

统,并给出了部分模块的硬件布局和软件流程.系统以Arduino芯片负责测距传感器数据采集、定位传感器位置确定、视觉系统伺服控制、驱动电机以及驱动舵机转向等,简单介绍了视觉系统中摄像机的标定,着重阐述视觉系统对目标物体的识别与定位,基于颜色特征对目标物体进行识别,利用边界跟踪法对目标物体轮廓提取,完成目标锁定后,在视觉伺服模块的配合下,移动机器人运动控制模块驶向目标,完成既定的任务,经试验验证,系统所设计的移动机器人视觉系统有效可靠,基本满足设计要求.

[1] 林 琳. 机器人双目视觉定位技术研究[D].西安:西安电子科技大学, 2009:17-22.

[2] 蔡征宇, 沈俊杰. 基于工业CCD摄像机的机器人视觉定位系统研究[J].机电一体化, 2010, 16(3):23-25.

[3] 杨 杰, 张铭钧. 一种移动机器人视觉图像特征提取及分割方法[J].机器人, 2008, 30(4):312-315.

[4] 刘万春, 贾云得. 基于肤色的人脸实时跟踪方法[J].北京理工大学学报, 2000, 20(4):461-465.

[5] 何 斌, 马天子, 王运坚, 等. Visual C++数字图像处理[M].北京:人民邮电出版社,2001.

[6] 刘南君, 毛培宏.基于Arduino Mega2560单片机的简易智能割草机器人的设计与实现[J].安徽农业科学, 2012, 40(36):17900-17901.

[7] 林 靖, 陈辉堂. 机器人视觉伺服系统的研究[J].控制理论与应用, 2000, 17(4):476-479.

The research and design of robot’s vision system based on Arduino modular

SUN Mei, ZHANG Senlin

(Department of Mechamical and Electrical, Hunan Tongde Vocational Institute, Changde, Hunan 415100)

Based mobile robot vision system is a hot field of robotics research in recent years; robot vision is also becoming more and more important in the automatic production. Based on the mobile robot as the carrier, this paper researched and designed a mobile robot vision system, with the concept of visual system in the application of mobile robot; this paper briefly describes the vision system camera calibration, focuses on the visual system of the target identification and location and visual systems in the mobile robot. In this paper, the design of the mobile robot using Arduino MEGA2560 single-chip microcomputer as main control chip, master ranging sensor chip is responsible for data collection, positioning sensor position determination, vision servo control system, steering servo drive motor and drive, etc. Tests show that the mobile robot can accurately test the movement to the target object location, well established to complete the task, the mobile robot vision system effective and reliable.

mobile robot; Arduino; vision system; image segmentation and recognition

2014-03-02.

湖南省教育厅基金项目(13C602).

1000-1190(2014)04-0511-05

TP242.2

A

*通讯联系人. E-mail: wenxue0111@163.com.

猜你喜欢

移动机器人舵机摄像机
移动机器人自主动态避障方法
含齿隙弹载舵机的全局反步模糊自适应控制
基于dsPIC单片机的飞艇舵机控制实现
基于Twincat的移动机器人制孔系统
基于高速同步485总线通信的多通道舵机控制器设计
摄像机低照成像的前世今生
新安讯士Q6155-E PTZ摄像机
如何消除和缓解“摄像机恐惧症”
基于云模型的舵机同步控制
极坐标系下移动机器人的点镇定