【果树农药喷洒机器人】Part1:研究现状分析以及技术路线介绍
本专栏介绍:付费专栏,持续更新机器人实战项目,欢迎各位订阅关注。
关注我,带你了解更多关于机器人、嵌入式、人工智能等方面的优质文章!
文章目录
- 一、项目背景
- 二、国内外研究现状
- 2.1 国内研究现状
- 2.2 国外研究现状
- 三、研究内容
- 四、技术路线图
一、项目背景
我国自古以来都是农业大国,目前已成为世界上最大的水果产业国,水果种植面积和产量均居世界第一。果园产量的高低与植保手段有着密切关系,且大面积的果园植保得益于农药的广泛使用。据统计,我国每年用于病虫害防治而消耗的农药量占全球农药使用总量的35%。然而,我国单位面积农药的平均用量比世界平均用量高2.5-5倍,农药利用率竟不足30%,过量使用反而导致农民中毒、环境污染等危害事件频发。相比之下,日本、美国等农业发达国家的农药利用率已达到了50~60%的高水平,差距显著。
目前,国内外对果园病虫害防治的主要喷药手段分为人工喷药、人机喷药与机器人智能喷药,作业方式分别如图1-1所示。在我国的果园病虫害防治措施中,前两种的传统喷药方式占据主导地位,其效率较低、人力成本高、人体接触农药时间长、危害性大。而农业发达国家逐渐淘汰了此类喷施模式,大力研发并推广使用如图1-1(c)所示的智能化果树喷药机器人,农户远程即可控制机器人高效喷药,实现了人体与农药的分离,对人体几乎无危害,且大大节省了劳动力。而农药利用率的提高在于智能化喷药机器人搭载了变量喷药系统,可根据果树生物特征参数调控施药量,实现按需喷药。精准变量喷药的实现离不开两大关键技术:靶标探测技术与变量喷雾控制技术,前者通过各类传感器检测果树并获取树冠体积、叶面积密度等生物参数,为变量喷药提供数据支持,后者为调控施药量的控制方式。
综上所述,我国的果园喷药机器人在农药精准喷施方面的发展仍存在一定的不足,使用先进、高效的智能化植保机器人已成为农业现代化发展的必然选择,这对提高农药利用率,保护生态环境具有十分重要的意义。为此,本文设计基于机器视觉的农药变量喷施控制系统,以提高果树喷药机器人的农药喷施效率和利用率。
二、国内外研究现状
2.1 国内研究现状
在农田和大棚中,人工喷施农药不仅费时费力,而且对人体健康有不良影响,过量喷药对环境也造成了极大的污染,有效的解决方案是使用机械化设备和机器人代替人工完成自动化喷药操作。然而,资料显示我国丘陵山区果园植保机械化的覆盖率仅为7.5%,平原果园为15%,表明我国果树喷药机器人的总体覆盖率并不高,发展水平偏低。在已应用的植保机械中,大中型移动式喷药机器人的药液存储量大、喷雾效率高,适用于种植密度相对稀疏、地面平坦的果园中。如窦汉杰等在拖拉机的基础上增设变量喷雾控制系统,设计出WG-1200A型果园风送喷药机,相比常量喷药,该款喷药机变量喷药的药液节约率超过60%,所设计的喷药机如图1-2所示。
为提高果树喷药机器人精准作业的性能,李龙龙等研制了一款基于激光雷达的仿形变量喷雾机。闫成功等研制的葡萄园背负式风送喷药机器人,所搭载的喷洒系统通过测量喷雾机行驶速度和采用双目相机,实现了对葡萄叶冠层体积的实时探测,根据冠层体积来调整电磁阀通断的占空比以实现药液的变量喷雾,变量喷雾模式下节省超过50%的用药量,喷雾机结构示意图如图1-3所示。
2.2 国外研究现状
此外,欧美等农业发达国家也十分重视植保机器人对农业环境的改善作用,其果园自动机械化水平较高,果园喷施机械种类多样。如图1-5(a)所示,2022年,韩国的Seol等开发的智能喷药机器人,喷雾系统配备了一个300L的农药罐、计算平台和带有8个喷头的喷杆,平台两侧各安装了一个深度摄像头,数据在计算平台和摄像头之间传输。图1-5(b)为2015年,伊朗的Maghsoudi等研究的原型喷雾机器人,它能够实时、连续地提供与果树冠层体积相适应的施肥量,通过变量技术,农药使用量减少了约34.5%。2019年,意大利的Cantelli等研制了一种针对温室番茄研发的农药自动喷雾机器人,如图1-5(c)所示,该款机器人搭载了智能喷雾管理系统,可完成自主导航和喷雾操作。2015年,美国的Palleja等研发用于葡萄园和苹果园的喷雾机,通过组合多个超声波传感器形成阵列,实现对果树冠层密度的实时估算,为喷洒系统提供数据支持,如图1-5(d)所示。
综上所述,当前我国果园植保机械设备相对落后,主要以大型植保机械为主,并且多数在拖拉机的基础上进行改造,体型庞大且需要驾驶员操控,增加了人力成本。相对于欧、美等农业发达国家来说,我国农药使用量更高、农药利用效率显著偏低,容易对环境造成严重污染以及对施药者产生人身伤害。虽然部分丘陵山区果园植保采用无人机作业,但其局限性也较明显,存在雾滴扰流、喷雾不均、果树冠层底部不易附着以及操控较难等问题。为有效提高施药效率和适用性,各国仍以地面植保机械研发为主,并将靶标探测技术和变量喷施控制技术等先进智慧农业技术应用其中,使果树精准喷药机器人朝着无人化、智能化方向持续发展。
三、研究内容
目前,我国的地表喷雾植保机器人的发展水平相比国外的农业发达国家还存在一定的差距,精准变量喷药技术还有待进一步研究和提升。为此,本文首先在考察果园的实地情况和分析国内外研究现状的基础上,制定了果树喷药机器人的总体方案。其次,将当下发展迅速的计算机视觉技术,用于果树冠层图像的识别、定位和分割上,以期解决靶标识定位问题;采用新型深度相机感知果园环境,获取真实空间和二位图像间的比例换算关系,估算果树冠层的特征参数,以期解决果树靶标探测问题;变量喷施控制系统采用主流的PWM控制方式,根据每株树冠的生物参数信息做出合理的药量决策。最后,通过远程遥控智能变量喷药机器人在室外完成实际喷药性能测试。本文以柑橘树作为主要的实验对象,制定了如下的具体研究内容:
(1)通过实地考察柑橘园的地形以及果树的种植情况,对比分析国内外有关研究现状得出系统的总体设计要求,确定地面喷药机器人的整体设计方案,以此选购合适型号和尺寸的机器人底盘。
(2)深入研究基于深度相机和实例分割模型的果树冠层探测技术,采用Mask R-CNN实例分割模型对三种生长周期的柑橘树进行视觉检测和分割,并通过替换主干网络和掩膜分支进行算法优化,以提高分割精度与检测的准确率。
(3)基于视觉分割树冠的基础上,结合深度相机扫描树冠获取与树冠间的实际距离信息,可计算出每个分割掩膜像素点代表的实际长度,进而估算出整株树冠的真实体积,并与人工测量法进行比较,分析视觉方法探测树冠体积的精度。
(4)相比变压力以及变浓度调节式,PWM有着更好的动态响应特性和流量调节性能,因此确定其为喷药控制系统的控制方式。根据喷药要求,选购下位机、喷头、喷药泵等关键部件型号,通过合理布置电路、水路以及确定喷头的喷雾角度和垂直分布间距,搭建出整体的变量喷药控制实验平台,经过PWM变量喷药测试,确定电磁阀的通断频率、喷药压力等因素跟药液流量之间的关系。
(5)在完成机器人底盘选型、视觉感知系统以及变量喷药控制系统的设计后,搭建出本文的果树变量喷药机器人,并通过对比分析三种喷药模式下的雾滴沉积密度以及覆盖率等评价指标,测试机器人对仿真柑橘树的喷施效果。其次,在保证病虫害防治效果的基础上,得出变量喷药模式的节药率。
四、技术路线图
根据所要研究的内容,制定整体的技术路线,如图所示。
相关文章:

【果树农药喷洒机器人】Part1:研究现状分析以及技术路线介绍
本专栏介绍:付费专栏,持续更新机器人实战项目,欢迎各位订阅关注。 关注我,带你了解更多关于机器人、嵌入式、人工智能等方面的优质文章! 文章目录 一、项目背景二、国内外研究现状2.1 国内研究现状2.2 国外研究现状 三…...

QT-QTablewidget 设置选中某一行
要在 QTableWidget 中设置选中的行,可以使用 setCurrentItem() 函数来设置当前的 QTableWidgetItem。你可以通过调用 QTableWidget 的 item() 函数获得指定行和列的 QTableWidgetItem,然后通过将其传递给 setCurrentItem() 函数来设置选中的行。 下面是…...

[shell] 删除指定文件状态变更之前的文件及文件夹示例
参考文件 Linux查找某个指定时间要求的文件 脚本示例 #!/bin/bash# 删除指定时间之前文件,单位:分钟 ago75# 监控路径,必须使用使用绝对路径,防止意外删除重要文件 monitoring_path"/home/dev/test/test" # 使用find命令查找75分…...

代码中 isEmpty 和 isBlank 的区别
isEmpty系列 StringUtils.isEmpty() 是否为空. 可以看到 " " 空格是会绕过这种空判断,因为是一个空格,并不是严格的空值,会导致 isEmpty(" ")false tringUtils.isEmpty(null) true StringUtils.isEmpty("") true StringUtils.isEmpty(" …...

为什么要选择文件传输软件?有哪些最佳高速文件传输软件?
是否经历过这样的场景,正在努力地完成工作任务,但是由于制作的数据无法及时传送给合作伙伴,工作流程被打断了?这听起来很令人沮丧,对吧?可是,这种情况在现实中并不罕见。 因此,需要…...

aardio + customPlus 显示图片演示
看效果: 上代码: import win.ui; /*DSG{{*/ var winform win.form(text"aardio customPlus 显示图片演示 by 光庆";right927;bottom607) winform.add( button{cls"button";text"下一页";left664;top536;right794;bott…...

收集到大量的名片怎么转为excel?
来百度APP畅享高清图片 参加完展会或集体会议,是不是收了一大堆名片,保管起来超级麻烦,还容易丢三落四?别急,我们有办法!把名片转成电子版保存到电脑上就完美啦!但要是名片数量有点多࿰…...

JAVASE---方法的使用
方法概念及使用 什么是方法(method) 方法就是一个代码片段. 类似于 C 语言中的 "函数"。方法存在的意义(不要背, 重在体会): 1. 是能够模块化的组织代码(当代码规模比较复杂的时候)。 2. 做到代码被重复使用, 一份代码可以在多个位置使用。 3. 让代码更好理解更简单…...

CryptoJS.lib.WordArray.create、CryptoJS.enc.Base64介绍
1、CryptoJS.lib.WordArray.create:它是 CryptoJS 库中的一个方法,用于创建 WordArray 对象。WordArray 对象是 CryptoJS 库中用于处理二进制数据的基本数据类型。它通常用于表示加密算法的输入和输出。 2、CryptoJS.enc.Base64:它是 CryptoJ…...

linux 配置java环境变量
单个用户 vim ~/.bashrc 或者 vim ~/.bash_profile全局用户 vim /etc/profileexport JAVA_HOME/path/to/java export PATH$JAVA_HOME/bin:$PATH立即生效使用 source 命令 source ~/.bashrc source /etc/profilejava -version...

Mybatis异常Invalid bound statement (not found)原因之Mapper文件配置不匹配
模拟登录操作 $.post("/admin/login", {aname, pwd }, rt > {if (rt.code 200) {location.href "manager/index.html";return;}alert(rt.msg)});网页提示服务器代码错误 POST http://localhost:8888/admin/login 500后端显示无法找到Mapper中对应的…...

SAP中采购文档出现定价转换因子字段溢出是何原因?
近期处理了一笔用户反馈的主题问题。这个问题有意思的地方在于,多重错误的叠加,导致了问题在开始就暴露出来,可以将隐患消除在萌芽状态。 在公司的应用中,会由采购创建价格合同,物流参照价格合同创建计划协议。但采购…...

Linux6.33 Kubernetes kubectl详解
文章目录 计算机系统5G云计算第三章 LINUX Kubernetes kubectl详解一、陈述式资源管理方法1.基本信息查看2.项目的生命周期:创建-->发布-->更新-->回滚-->删除 二、声明式管理方法 计算机系统 5G云计算 第三章 LINUX Kubernetes kubectl详解 一、陈述…...

小程序uni-select溢出文字处理方式
<uni-data-select v-model="customFormData.limitedBy" :localdata="cancelWays" @change="change"></uni-data-select>溢出效果如下图...

【MacOS】mac OS 安装HP 打印机驱动 hp laserjet m1213nf mfp
先确认一下机器复印是否正常.确认一下打印机的硬件. 如果复印没问题 1. 下载v5.1集合包Hewlett-Packard 打印机驱动程序 v5.1.1 (OS X) (中国) 2. 苹果商城中,下载Pacifist,运行Pacifist,用Pacifist程序打开v5.1并安装 3. 电脑--系统偏好设置--打印…...

【搜索】DFS剪枝与优化
算法提高课笔记 目录 小猫爬山题意思路代码 数独题意思路代码 木棒题意思路代码 生日蛋糕题意思路代码 剪枝是什么意思呢? 我们知道,不管是内部搜索还是外部搜索,都可以形成一棵搜索树,如果将搜索树全部遍历一遍,效率…...

dfs之卒的遍历
题面 题目描述 在一张nm 的棋盘上(如 6 行 7 列)的最左上角(1,1) 的位置有一个卒。该卒只能向下或者向右走,且卒采取的策略是先向下,下边走到头就向右,请问从(1,1) 点走到 (n,m) 点可以怎样走,输出这些走法…...

Springboot整合activiti5,达梦数据库,mybatis中间件
Springboot整合activiti5,达梦数据库,mybatis中间件 问题现象解决方案 问题现象 由于工作流引擎不支持达梦数据库以及国产中间件,所以我们引入的时候会报错,这个时候就需要去改造代码和配置文件。各种文档和资料查找一天…...

使用Python + Flask搭建web服务
示例脚本 from flask import Flask# 获取一个实例对象 app Flask(__name__)# 1、注册 app.route(/reg, methods[get]) def reg():return {code: 200,msg: reg ok!}# 2、登录 app.route(/login, methods[get]) def login():return login ok!if __name__ __main__:…...

Winform 打开文件夹、文件、拖拽上传
参考原文:https://blog.csdn.net/u012543266/article/details/21834073 1、打开文件 private void button1_Click(object sender, EventArgs e){OpenFileDialog dialog new OpenFileDialog();dialog.Multiselect true;//该值确定是否可以选择多个文件dialog.Titl…...
热评国内AI四小龙:此一时彼一时,彼此彼此
引言:阿里“清仓”全部持股 商汤科技表示“没啥事” 【科技明说 | 热点关注】 作为国内AI领域的知名科技上市公司,商汤科技SenseTime的一举一动都牵动着业内人士的心。 然而,商汤科技的财报表现没有出奇制胜,却让不…...

[国产MCU]-BL602开发实例-GPIO控制
GPIO与控制 文章目录 GPIO与控制1、GPIO介绍2、GPIO管理相关API介绍3、硬件准备4、软件准备5、代码实现3.1 GPIO输出3.2 GPIO输入3.3 GPIO中断BL602的GLB(Global Register)是芯片通用全局设定模块,主要包含了时钟管理、复位管理、总线管理、内存管理以及GPIO管理等功能。 本文…...

Firefox 配置 Burp_proxy 和 证书
安装代理拓展 安装拓展: chrome : switchomega firefox : foxyproxy 创建代理 : 127.0.0.1:8080 安装burp证书 先开启burp,然后切换到 burp 的代理访问 https://burp/ 下载证书打开firefox设置 - 搜索”证书“ -…...

基于Java+SpringBoot+Vue前后端分离仓库管理系统详细设计和实现
博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…...

PyTorch Lightning教程七:可视化
本节指导如何利用Lightning进行可视化和监控模型 为何需要跟踪参数 在模型开发中,我们跟踪感兴趣的值,例如validation_loss,以可视化模型的学习过程。模型开发就像驾驶一辆没有窗户的汽车,图表和日志提供了窗口,让我们…...

后端开发2.mongdb的集成
使用docker安装 安装 拉取镜像 docker pull mongo:4.4.14-focal 创建容器 docker run -itd --name mongo -p 8036:27017 mongo:4.4.14-focal --auth 配置管理员 进入容器 docker exec -it mongo bash 进入终端 mongo 进入admin数据库 use admin 创建管理员账户 db.c…...

Unity面板究极优化
首先对于大项目来说UI首选一定的UGUI,目前没有啥可选的余地。多一点都是对性能的负担,UGUI底层基于多线程技术,可以有效分担压力,对于一些不是那么重的面板几乎无感。 无论其他面板只是在此基础上修改的,但每多一层&am…...

C# App.config和Web.config加密
步骤1:创建加密命令 使用ASP.NET提供的命令工具aspnet_regiis来创建加密命令。 1、打开控制台窗口,在命令行中输入以下命令: cd C:\Windows\Microsoft.NET\Framework\v4.xxxxx aspnet_regiis.exe -pef connectionStrings "C:\MyAppFo…...

力扣:50. Pow(x, n)(Python3)
题目: 实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。 来源:力扣(LeetCode) 链接:力扣 示例: 示例 1: 输入:x 2.00000, n 1…...

scikit-plot 使用笔记
scikit-plot是基于sklearn和Matplotlib的库,主要的功能是对训练好的模型进行可视化。 安装: pip install scikit-plot 功能1:评估指标可视化 scikitplot.metrics.plot_confusion_matrix快速展示模型预测结果和标签计算得到的混淆矩阵。 im…...