基于计算机视觉的采摘机器人智能避障系统研究
2018-08-10刘灵敏
刘灵敏,胡 婧,谢 倩
(武汉晴川学院 计算机学院, 武汉 430204)
0 引言
随着农业劳动力老龄化和劳动力不足问题的逐渐加剧,各个国家开始重视对多用途农业机器人的开发研究,也包括采摘机器人的研发。将采摘机器人应用于新农业生产模式,是未来解决劳动力匮乏的重要手段。当前,国外采摘机器人发展迅速,国内同类产品迅速跟进,现已取得阶段性成果。本文在此基础上,结合计算机视觉技术与嵌入式智能控制技术,提出了一种基于计算机视觉的采摘机器人智能避障系统,实现前进道路上的避障功能。
1 计算机视觉技术及障碍物检测
1.1 计算机视觉技术的概论
计算机视觉技术是采用一到多台CCD工业摄像机代替眼球,作为图像传感器获取环境信息,然后根据需求由图像处理模块进行实时图像处理分析,进而交由智能控制系统进行跟踪控制。其中,计算机就是指在整个系统中负责智能控制的模块,而视觉则是将周边环境因素转变为有效的对象描述,其核心问题是将环境信息转换为图像信息,从而导出周边环境的结构。视觉作为整个系统中的核心模块,一般从获取图像开始,然后经过特定模块的格式转换和处理,输出给计算机使计算机具有认识当前环境的能力。视觉信息具有以下几个特点:
1)特征点,可以准确地对当前整个环境或者特定的几个对象进行有效的信息描述,并结合指定的规则说明环境信息的特点。采用特定的结构信息描述环境中具体的对象,那么这个结构信息体就称为该对象在当前平台特征点的具体描述。
2)控制处理,指将某些特定信息按照具体实现方式进行有效转换。视觉是指对整个环境信息进行一个整体的获取,并需要经过多道步骤转换的表面特征阶段;而将一个特征点转换为另外一个特征点,就需要借助控制处理单元。
3)零交叉,表示图像信息的明暗度突然发生颠覆性变化,是形成对象外观轮廓和立体信息的条件。零交叉检测就是计算机视觉系统对对象目标外观轮廓、边界值和立体信息的检测。计算机视觉图像形成结构如图1所示。
图1 计算机视觉图像形成结构图
1.2 障碍物识别检测
为了精准地获取环境图形信息,本文设计的智能避障系统首先采用双CCD摄像机获取图像信息,然后通过3D立体坐标对环境障碍物进行识别检测。根据左右图像信息间的视觉差计算障碍物离采摘机器人的距离,建立立体图像信息。障碍物识别检测的框架示意图如图2所示。
图2 障碍物识别检测框架图
为了计算简单方便,在检测过程中,将左CCD设置为世界坐标系,右边设为平面坐标系。双目CCC模型如图3所示。
图3 双目CCC模型图
根据双目CCD模型可以得到
(1)
(2)
其中,sl和sr分别为平面坐标系尺度因子;fl和fr分别是左右CCD的焦距。由式(1)和式(2)可以得到左右图像的像点坐标的对应关系为
(3)
由此求出三维世界坐标系坐标对应关系为
(4)
根据式(4)就可以求出障碍物的准确位置。
2 采摘机器人智能避障系统硬软件设计
2.1 采摘机器人硬件设计
采摘机器人智能避障系统在作业过程中,为了准确无误地进行采摘操作,需要实时对图像信息进行处理,进而判断前方是否可以正常前行。因此,设计了基于STM32F103RCT6为核心的硬件平台,可以完成实时信息采集、图像处理、路径规划和躲避障碍物等功能。本文主要介绍智能避障系统的最小系统和视频图像的获取与解析两部分的电路。
1)最小系统的设计。智能避障系统的最小系统主要包括微处理器、振荡电路、JTAG和复位电路。其中,处理器采用意法半导体(ST)公司的Cortex-M3内核的32位ARM微处理器STM32F103RCT6,该芯片具有256K Flash,48KRAM,板载晶振8MHz,拥有丰富的接口和外设资源。最小系统原理图如图4所示。
2)视频图像的获取与解析。CCD摄像头获取到环境信息的图像后,经过图像转换芯片将模拟信号转化为空间上数字信号。本文图像转化选用OmniVision 公司的OV7676图像传感器芯片,该芯片采用3μmOmniPixel3-HS技术,实现了一流的低光灵敏度、信噪比、 满阱容量、 量子效率和低功耗, 具有集成度高、图像转换效率高等特点。视频图像获取与解析的接口电路如图5所示。
图4 最小系统原理图
图5 视频图像获取与解析的接口电路
2.2 采摘机器人上位机设计
为了方便操作人员对采摘机器人进行实时调整和控制,本文基于QT Creator进行了采摘机器人Android上位机平台控制的功能设计和模块化实现,并着重于无线通信模式下的机器人功能实现和上位机APP的界面设计。该上位机主要用于操作人员对采摘机器人发送控制指令,上位机首先发送指令到WIFI模块,然后由路由器转换发送给STM32F103RCT6微处理器,从未实现对采摘机器人的控制。同时,路由端可以实时将机器人拍摄的视频图像信息解码后实时回传给上位机,上位机在界面中显示。上位机设计的框架如图6所示。
上位机软件的编写采用TCP通信方式,用Socket连接把数据发送到路由端,在实际应用过程中,上位机是Client模式,路由端是服务器模式。这样就可以实现对采摘机器人的无线控制。上位机核心代码如下:
public class MyVideo extends Activity
{
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
r =
(MySurfaceView)findViewById(R.id.mySurfaceViewVideo);
TakePhotos =
(Button)findViewById(R.id.TakePhoto);
ViewPhotos =
(Button)findViewById(R.id.ViewPhoto);
BtnForward =
(Button)findViewById(R.id.button_forward);
BtnBackward =
(Button)findViewById(R.id.button_backward);
BtnLeft =
(Button)findViewById(R.id.button_left);
BtnRight =
(Button)findViewById(R.id.button_right);
BtnStop=
(Button)findViewById(R.id.button_stop);
Intent intent = getIntent();
CameraIp =
intent.getStringExtra("CameraIp");
CtrlIp= intent.getStringExtra("ControlUrl");
CtrlPort=intent.getStringExtra("Port");
InitSocket();
}
图6 上位机设计框架图
3 采摘机器人智能避障系统的实现
当CCD摄像机探测前方有障碍物时,采摘机器人一般会选择从障碍物的左边绕行,但当采摘机器人的位置相对于偏向于右边时,根据最优路径经验,应该绕右边前行,如图7所示。因此,采摘机器人在实际躲避障碍物的过程中,应先对自身位置进行定位,判断dOA和dOD的值后,再进行绕行规划。
图7中:ABCD为障碍物;小车位置1~4是采摘机器人避障行走路径;dOA和dOD分别是机器人中心点与障碍物之间的距离。通过直角三角形求边长公式可知
(5)
联立求解可以得到dOA和dOD的值。
当dOA>dOD时,采摘机器人绕障碍物右边前行。在计算过程中,假设采摘机器人的长款分别是2l和2n,那么采摘机器人由位置1前进到位置2时,小车的前进路线的长度为
(6)
其中,λ为采摘机器人与障碍物之间的安全距离系数。
需要的时长为
(7)
转弯时的角度值为
(8)
采摘机器人由位置2前进到位置3时,小车的前进路线的长度为
s2=dCD
(9)
行驶时间为
(10)
采摘机器人由位置3前进到位置4时,回到原先处于位置1时的方向。转弯角度为
θ2=-θ1
(11)
行驶的时间为
t3=t1
(12)
则在整个过程中,采摘机器人的避障路径为:右转向θ1,速度为v0/3,经过时间t1行驶至位置2;再以速度为v0/3行驶t2至位置3;最后左转向θ1,速度为v0/3,经过时间t1行驶至位置4,即回到避障前的行驶路线上。
图7 机器人避障示意图(dl 为了验证采摘机器人智能避障系统的可行性及其有效性,本文利用MatLab仿真软件对该系统进行避障仿真实验。该实验不仅能够对计算机视觉图像采集和处理进行验证,还可以对采摘机器人避障规划进行验证。仿真结果如图8所示。 图8 仿真结果图 采摘机器人前方的圆柱体、菱形和立方体分别是障碍物1、2、3,虚圆形为采摘机器人S避障路径。从仿真结果可以看出:采摘机器人从起点前行到了终点,成功避开了3个障碍物;在避障过程中,由于采摘机器人更靠近障碍物1下方一点,所以其选择了绕障碍物1下方前行,实现了规划路径最优化,证明该智能避障系统的有效性、准确性和可行性。 首先分析了计算机视觉技术及障碍物检测的特点、原理,然后对系统的软硬件系统进行了设计,最后实现了采摘机器人的智能避障系统。该系统针对采摘机器人在作业过程中常常会碰到被障碍物挡住前行道路等问题,结合计算机视觉技术和嵌入式智能控制技术,极大地加强了采摘机器人对环境的感知能力。对该系统进行了MatLab仿真试验,结果表明:系统能够准确无误地避开障碍物,并能在动态移动中规划局部最优路径,证明该智能避障系统的有效性、准确性和可行性。 AbstractID:1003-188X(2018)09-0213-EA4 实验结果与分析
5 结论