农业机器人视觉导航试验平台
2012-10-15顾宝兴王海青姬长英
安 秋,顾宝兴,王海青,姬长英
(南京农业大学工学院,江苏 南京210031)
0 前言
定位导航是农业机器人的关键技术之一,也一直是农业机器人的研究重点和难点[1-2]。农业机器人的教学与科研在中国很多高校得到重视[3-5],但由于其缺少相关的试验设备,在试验方面有较大的发展瓶颈。机器视觉作为一种局部定位传感方式,可以提供目标全部或局部的图像信息以用于相对定位。因此,本研究拟搭建四轮驱动农业机器人视觉导航试验平台以服务于教学和科研的基础应用。
1 移动平台结构
移动平台总体结构如图1a所示。图1b为四轮驱动农业机器人平台底盘结构示意图,每个轮子由一个电动机带动,中间由联轴器连接。图1b中,W为移动平台的宽度;L为长度。
图1 移动平台结构及底盘结构示意图
2 控制方案
2.1 整体控制方案
整体控制方案如图2所示,上位机为笔记本电脑,通过1394接口与摄像机相连接。下位机控制器选择ATmega16为主控芯片,通过RS232接口与上位机连接,接收上位机的指令,发出4路PWM信号至驱动器,从而实现直流电机的调速和4个轮的协调运动[6]。
2.2 下位机控制器算法流程
图3a为主程序流程图;图3b为中断程序流程图;图3c为电机速度控制子程序流程图。主程序从上位机接收命令,通过协议解析,得到电机的运动方式和速度级别,而后调用电机速度控制子函数,执行命令。
图4为电机控制子程序详图。下位机控制器根据不同运动的需要,接收并解析上位机发送的运动方式和速度指令,然后分别设置PWM信号输出控制寄存器,最终得到不同占空比的PWM信号。其中,使用ATmega16的T0和T2定时器控制左边两轮,即OCR0和OCR2寄存器;由于T1定时器是16位的,可以变为两个8位的寄存器,即OCR1A和OCR1B寄存器,用来控制右边轮胎,共产生4路PWM信号,左边2个电机驱动器共用两路PWM信号,右边2个电机驱动器共用两路PWM信号,从而达到控制电机速度的目的[7]。
图2 整体控制方案
图3 下位机控制器算法流程图
图4 电机速度控制子程序流程
3 视觉导航算法
将线扫描过程和最小二乘法相结合,针对两条作物行的情况,提出一种结合最小二乘法的线扫描算法[8-10]。首先,对图像进行二值化处理,采用从上到下,从左到右的方式扫描,寻找二值图像中每一行的导航路径的中心点,最后利用最小二乘法来拟合这些点,来获取导航中心线参数。
(Ⅰ)通过线扫描统计得到导航中心线的点集合。
设图像分割后获得的二值图像的大小为w×h(w为图像的列数,h为图像的行数),对每一行进行线扫描,并采用滤波处理去除噪声点。这里采用设定阈值法去除小的噪声点线段。
图5为分割后的玉米行二值图像。图6a为二值图像第70水平扫描行数据的像素分布情况,图6b为滤除噪声后第70水平扫描行数据的像素分布情况。由图5和图6可知:滤除噪声后的像素分布基本上代表了此行上的作物行的分布情况。
经过了噪声点移除后,记第j行的零像素点(作物区域)的数目为Nj,列坐标为xi,那么这一行的导航中心点Cj横坐标为
将得到的每一行的导航中心点存储在N×2的数组,其中,N是整幅图像中导航中心点的个数(每一行经过滤噪后,由于存在舍弃作物缺失行的情况。因此,N有可能小于图像行数h)。数组的一列存储导航中心点横坐标,另一列存储所在的行号(纵坐标)。
图5 分割后的二值图像及第70行
图6 线扫描算法对第70行进行滤除噪声处理结果
(Ⅱ)利用最小二乘法进行线性回归,计算导航中心线参数。
假设从图像线扫描后得到导航线中心点的N个坐标数据为(x1,y1),(x2,y2),…,(xN,yN),则在图像平面上,可以得到N个点Pi(xi,yi)(i=1,2,…,N),这种图形称为“散点图”,结果见图7。从图7中可以粗略看出这些黑点大致散落在某直线附近,设直线可以用y=ax+b表示,其中a和b是待定常数。最小二乘法求待定常数的公式为
(Ⅲ)由直线方程y=ax+b,在原图像中绘制导航中心线。
4 导航算法测试
图7给出了仅有2条作物行图像的2组测试结果,图中的散点为每行的导航中心点,拟合后的导航中心线为两行中间的直线,可以作为农业机器人导航的依据。对于大小为400 pixel×300 pixel的图像,结合最小二乘法的线扫描算法处理时间约为18 ms。
图7 结合最小二乘法的线扫描算法
5 结论
(1)设计了农业机器人视觉导航试验平台的整体控制方案和基于AVR单片机的下位机控制器,实现了4个电机的独立速度控制及其与上位机的串口通讯功能。测试表明:当上位机发送命令信息到下位机控制器后,其运动控制算法能够可靠运行。
(2)结合最小二乘法的线扫描算法的预处理包括去除噪声点和判断舍弃作物缺失行两步,它们是提取导航中心点的关键。测试表明整个算法具有较高的实时性。对于3行或4行的作物行的情况可以扩展本算法。
[1]李建平,林妙玲.自动导航技术在农业工程中的应用研究进展[J].农机工程学报,2006,22(9):232-236.
[2]Li M,Imou K J,Katsuhiro W,et al.Review of Research on Agricultural Vehicle Autonomous Guidance[J].Int J Agric &Biol Eng,2009,2(3):1-16.
[3]闫树兵,姬长英.农业机器人移动平台的研究现状与发展趋势[J].拖拉机与农用运输车,2007,34(5):13-15.
[4]姬江涛,李玉柱,高吭.“农业机器人”课程教学与教材建设[J].中国电力教育,2010(22):99-100.
[5]安秋,周俊,姬长英,基于DGPS导航的田间数据采集机器人的设计[J].河南科技大学学报:自然科学版,2008,29(2):79-82.
[6]张磊,蒋刚,肖志峰,等.ATmega16与PC机的移动机器人定位系统研究[J].单片机与嵌入式系统应用,2010,10(12):11-13.
[7]吴健.AVR单片机实用C语言程序设计与典型实例[M].北京:中国电力出版社,2008.
[8]袁佐云.基于计算机视觉的作物行中心线识别研究[D].北京:中国农业大学,2005.
[9]张红霞,张铁中.麦田多列目标图像检测算法[J].中国农业大学学报,2007,12(2):62-66.
[10]蒋海波,张云伟,徐会杰,等.农田作业机器人视觉导航目标曲线检测算法研究[J].昆明理工大学学报,2008,33(4):91-96.