机器人简单视觉模块的研究--以竞赛喷药机器人为例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
- 95 -
第15期
2019年8月No.15 August,2019
根据2019年中国机器人大赛比赛规则,在机器人喷药项目中需要对杂草进行识别。
然而市面上普遍流行的视觉模块都具有算法复杂、入门要求高等特点,不利于初学者接触和使用。
经过查阅、讨论、研究后,发现Pixy 作为一个集成化程度比较高的视觉模块,非常适合刚接触机器人视觉的创客使用。
为了能更好地识别杂草,达到准确喷药的目的,本研究将Arduino 控制器和Pixycam 视觉模块相结合,使用C 语言进行编程。
本文着重介绍Pixycam 简单视觉系统的原理和使用方法,并结合案例分析来实现对目标位置、大小、颜色的精确识别,从而达到比赛所要求的精准喷药效果。
1 主要硬件介绍
1.1 Arduino UNO 介绍
Arduino UNO 板基于ATMEGA328单片机。
同时,基于AVR 平台,对AVR 库进行了二次编译封装,大大降低了软件开发难度。
只需根据自身系统要求下载官方Arduino IDE 便可以编程。
适合初学者编程、学习[1]。
1.2 Pixycam 介绍
Pixy 是内基梅隆机器人研究所在2014年推出的视觉模块,可以支持连接不同的控制器,支持多种接口选项,如串行外设接口(Serial Peripheral Interface ,SPI )、通用异步收发传输器(Universal Asynchronous Receiver/Transmitter ,UA RT )串行、USB 、集成电路总线(Inter-Integ rated Circuit ,I2C )或数字/模拟(Digital-to-Analog ,D/A )输出,Pixy 的CCC 算法(计算来自图像传感器的每个RGB 像素的颜
色(色调)和饱和度,并将它们用作主要过滤参数)[2]
能够记住7种不同的颜色代码,通过PixyMon 软件可以轻松捕捉需
要识别物体的颜色[3]。
1.2.1 Pixy 视觉模块的原理
所谓图形处理就是视觉传感器将图像信号转换为连续电压信号,最后转换成数字信号进行处理的过程。
如今的视觉识别系统主要有两种搭建方案:
(1)使用Matlab 或OpenCV 等软件来进行编码,搭配一般的摄像头来实现图像处理。
(2)使用Pixycam 或Openmv 等具有图像处理能力的相机,通过官方的用户界面来实现简单的视觉识别。
虽然OpenCV 在很多高端领域应用广泛,但它上手比较困难,具有非常复杂的算法。
而Pixycam 相比较而言更加简单方便,同时也能达到需要的效果。
因此,本文选择Pixy 作为机器人的识别模块。
1.2.2 Pixy 视觉模块使用方法
Pixycam 作为一款集成化比较高的视觉传感器,通过官方软件平台PixyMon 来实现对目标的选取,以识别杂草为例,打开PixyMon ,只要简单的3步:选择Action →选择Set signature 1→在画面中选择目标,就能选中需要识别的目标,如图1所示。
图1 Pixy识别物体
识别完杂草之后,需要在Pixycam 和Arduino 之间建立起通信。
这里采用的是SPI 连接方式(Pixy 同时支持UART 串行、I2C 、数字/模拟输出等)。
在连接之前需要把Pixycam
作者简介:叶伟康(1999— ),男,浙江义乌人,本科生;研究方向:机械工程。
摘 要:在喷药机器人比赛中,视觉识别成为机器人完成任务不可缺少的重要功能。
为了实现机器人自主识别和喷药,文章采
用了Pixycam 视觉模块,以SPI 方式与Arduino 控制器相连接,设计了可靠的运动系统和喷药系统。
通过Pixy 自带的CCC 算法来实现对目标的识别、接近和喷药。
关键词:机器视觉;颜色追踪;Pixycam ;Arduino 无线互联科技
Wireless Internet Technology
机器人简单视觉模块的研究
—以竞赛喷药机器人为例
叶伟康,薛宇曦,吴慧莹,赵 敏
(沈阳农业大学 工程学院,辽宁 沈阳 110161)
- 96 -
关于Arduino 的库文件安装到Library 文件夹下。
这样就能够
在Arduino IDE 上直接调用封装好的程序进行编程。
由于使用的是SPI ,数据传输速度总体来说比I2C 要快,速度可到达1 Mbits/s ,能进行数据高速处理。
在Arduino IDE 中只需要引入#include <Pixy2.h>库便可以轻松在串口监视器中获得目标物体的位置、大小和颜色,如图2所示。
根据这些数据再配
合上一些简单的传感器便能实现机器人的喷药功能。
图2 串口输出显示
程序代码:int i; //捕捉块
c.getBlocks();//如果检测到块就把它print 出来 if (c.numBlocks) {
Serial.print(“Detected “);
Serial.println(c.numBlocks); for (i=0; i<c.numBlocks; i++) {
Serial.print(“ block “); Serial.print(i); Serial.print(“: “);
c.blocks[i].print(); } }
2 硬件电路与程序设计
总体方案设计如图3
所示。
图3 总体设计方案
根据比赛规则,喷药机器人需要对c 区花盆中的杂草进行识别。
因此,需要机器人能够自主接近目标并进行喷药。
2.1 硬件电路的组成
硬件电路由Arduino UNO 控制板[4]、Pixycam 视觉识别模块、超声波模块、降压模块(Arduino 板推荐输入电压为7~12 V )、步进电机驱动模块和SX1278无线模块组成。
(1)A r d u i n o U N O 作为控制板负责接收和处理Pixycam 传输过来的数据,并控制运动系统接近、喷药系统进行喷药。
(2)Pixycam 视觉模块和超声波模块协同识别和寻找目标。
(3)步进电机驱动器共阳极连接,脉冲控制车轮运动。
(4)SX1278无线模块通过UART 串行连接,把Arduino UNO 串口数据传输给PC 端,方便对数据进行分析。
2.2 喷药装置构成
喷药装置主要由SG90舵机、小型水泵和扇形喷头组成。
舵机可以调整喷头的方向,根据Pixy 处理后通过串口传输输出关于目标的x 方向和y 方向的坐标,调整喷头朝向,最后,在目标范围内进行准确喷药。
2.3 程序设计
如图4所示,启动喷药机器人后,Pixycam 开始寻找目标(杂草)并通过超声波模块来确定目标位置。
在确定目标位置后,步进电机驱动车轮,使喷药机器人接近目标。
通过
Pixycam 输出的目标坐标x ,y 值,控制舵机角度从而调整喷
头,使其对准杂草并喷药。
完成喷药后继续前进寻找下一个目标[5]。
图4 识别程序设计流程
(下转第99页)
- 99 -
Research on intelligent environment monitoring system of agricultural shack based on WSN
Qin Qin
(Baoding University, Baoding 071000, China )
Abstract:
This paper focuses on the monitoring system of agricultural greenhouses based on WSN, analysis and research this study from hardware design, software design and system optimization. Strawberry cultivation in Baoding for three months of test. Experimental results show that, this system can collect environmental information in real time accurately.Key words:
intelligent environment monitoring; wireless sensor networks; agricultural shed [参考文献]
[1]武昌,李彦君,汤倩尧,等.北京市昌平区设施草莓机械化种植现状[J].农业工程,2017(7):65-67.[2]刘盛竹,王欢欢.农业大棚的温湿度自动控制系统设计[J].湖北农机化,2019(12):57.[3]程盼,张鑫.基于物联网的智能农业大棚设计[J].计算机产品与流通,2019(6):130.
[4]戚山豹,凌青,秦琳琳,等.基于CC2530的温室无线采集与控制系统设计与实现[J].数码世界,2016(7):10-11.[5]孟刚.基于ZigBee 技术的温室智能测控系统设计[D].曲阜:曲阜师范大学,2014.
据集。
其余数据作为测试数据,测试模型的识别精度。
建立
了基于SVM 的温室环境控制模型,然后确定需要测量的数据,以确定哪些控制设备状态组合用于调整室内环境因子,以满足温室草莓的生长环境需求。
本文根据组合分类器的结构,研究了温室环境设备的5种开关状态调节方法,并根据实际需要结合了9个控制设备状态组合类。
输出“1”表示设备运行状态为“开”,系统需要对环境参数实施控制、干预,如开启加热器和通风机;“0”表示设备运行状态为“关”,该系统不需要温室环境干预。
设备开关状态构成二进制字符串,作为控制设备状态的组合识别模
型。
针对控制模型识别的需要,将二进制控制字符串转换为十进制控制数。
4 结语
本系统的研究和设计实现了多因素采集的智能温室控制。
目前,我国对智能温室控制系统的开发仍是一个漫长的过程。
与发达国家相比,我国室内环境控制算法存在较大的不足。
在今后的工作中,将进一步研究相关算法,使智能温室控制系统能够满足我国实际应用的需要。
Research on simple vision module of robot: taking the
competitive spraying robot as an example
Ye Weikang, Xue Yuxi, Wu Huiying, Zhao Min
(College of Engineering, Shenyang Agricultural University, Shenyang 110161, China )
Abstract:
Visual recognition has become an indispensable function for the robot to complete the task. In order to realize robot self-recognition and injection, Pixycam visual module is used in this paper, which is connected with Arduino controller in SPI mode, and reliable motion system and injection system are designed. Target recognition, proximity and injection are realized by the CCC algorithm provided by Pixy.
Key words:
machine vision; color tracking; Pixycam; Arduino 3 结语
根据比赛要求设计的喷药机器人,以Pixycam 模块为视觉识别核心,能够完美实现对目标(杂草)的识别。
同时,Pixycam 由于集成化程度高、使用简单等特点,能够对各种
目标进行识别和追踪。
在之后的研究中,运用相同的原理可
以将Pixycam 使用到循迹、避障、识别二维码等项目中,并实现更多较为复杂的功能。
希望Pixycam 使更多的创客能够认识到Pixycam 简单而强大的视觉识别能力。
[参考文献]
[1]张喜凤.Pixy 机器视觉传感器及其典型应用[J].电子测试,2018(Z1):53-54,57.[2]张少华,刘富,刘利,等.面向竞赛的果园喷药机器人设计[J].机械工程与自动化,2018(2):153-156.[3]张桂红.基于Pixy Cmucam5图像识别传感器的物品分拣装置[J].电子制作,2016(20):7.[4]李朝阳,王建信.基于Arduino 硬件的智能避障小车[J].轻工科技,2019(7):74-75,79.[5]赵艳妮,马顺,张书源,等.基于视觉传感器的自动跟随行李箱设计[J].智能城市,2017(8):23-24.
(上接第96页)。