【果树农药喷洒机器人】Part3:变量喷药系统工作原理介绍

本专栏介绍:免费专栏,持续更新机器人实战项目,欢迎各位订阅关注。
关注我,带你了解更多关于机器人、嵌入式、人工智能等方面的优质文章

文章目录

  • 一、变量喷药系统工作原理
  • 二、液压通路设计与控制系统封装
    • 2.1液压通路设计
    • 2.2 控制系统总体封装
  • 三、喷头测定与布置实验
    • 3.1喷雾角度测定实验
    • 3.2确定喷头布置间距


一、变量喷药系统工作原理

果树喷药机器人通过现代测量技术获取果树冠层参数信息,并对获取的信息进行分析,为变量喷药决策提供数据支持。本文深入研究基于机器视觉探测的智能变量喷药系统,依据果树冠层的几何特征信息以及变量喷药控制原理,设计变量喷药系统及控制程序,达到果树变量喷药的目的,其实现原理如图2-10所示。
在这里插入图片描述

由上图可知,变量喷药系统主要由上位机模块、下位机模块以及通信模块三部分组成,其中上位机模块为视觉探测系统,主要由深度相机、笔记本电脑组成,以深度相机为数据采集传感器,获取树冠RGB-D(深度)以及彩色图像,以计算机视觉技术中的实例分割模型处理树冠图像,结合深度值和掩膜面积预估冠层体积;通信模块根据冠层体积发送对应的ASCII码值,数值经过RS232串口协议传输给STC89C52单片机,单片机程序内设定了ASCII码与PWM占空比的对应关系。下位机模块为变量控制系统,主要由单片机、继电器以及电磁阀组成,PWM占空比从单片机发送给继电器,继电器又与电磁阀直接相连,进而实现单片机对电磁阀的间接控制。由PWM原理可知,在保持通断的时间不变(根据电磁阀频率可计算出每次通断的固定时长),通过改变单位时间内电磁阀通断的次数,进而实现根据冠层体积对喷头流量的变量控制。
综上所述,变量喷药控制系统的关键作用是根据靶标信息生成实时可调的喷药策略,进而实现智能的变量喷药。通过上位机控制器将深度相机获取的柑橘树冠体积转化为下位机可读取的PWM占空比,接收到信号的下位机再根据不同的PWM占空比控制电磁阀的启闭频率实现变量喷药。

二、液压通路设计与控制系统封装

2.1液压通路设计

喷药液压通路方案主要根据变量喷药控制策略进行设计,由于采用PWM控制方式,因此需要通过下位机单独控制喷头支路中电磁阀的通断频率,进而改变单位时间内流经喷头的施药量。为此,本章设计了喷药液压通路示意图,如图2-11所示。
在这里插入图片描述

喷药泵在启动后,将图中蓝色部分表示的农药从药箱中抽取出来,首先使用过滤器去除药液中的颗粒等杂质。在流入分流器前设计了一条回流支路,主要用于调节主干水路的压力。在分流器之后,通过压力表实时观察管路中的液压变化,当压力过高时,开启溢流阀将部分药液引回药箱,以保持管路内压力稳定。为实现变量喷药系统多喷头同时喷雾,使用分流器将主干管道分为多条分流支路(图中以两条支路简化表示)。紧接着,农药依次流经压力表、电磁阀和喷头,因此可通过控制电磁阀的通断,实现喷头开闭式喷药;改变电磁阀的通断频率达到变量喷药。

2.2 控制系统总体封装

为防止机器人在喷药作业时,喷洒出的农药对控制系统中的电路器件可能造成的腐蚀,有必要对其进行适当的封装保护。为此,根据控制系统中主要硬件的具体尺寸,设计布置方案,使用热熔胶将其固定在塑料的防水电器控制盒(下文均简称为电控盒)的底部,并对线路进行合理排布。为进一步提高电控盒的密封性,将适配器、单片机中需要与外部连接的线路裁剪为两部分,分别改为航空插头、插座的连接形式,具体连接实物图如图2-12(a)所示。盖上电控盒的塑料外壳后,系统整体的外观如图2-12(b)所示。
在这里插入图片描述

三、喷头测定与布置实验

3.1喷雾角度测定实验

为设计合适的喷头布置方案,使得喷雾范围能尽量覆盖到整株树冠,需要通过实验进一步确定上述选用的扇形喷头的有效喷雾角度、喷雾距离等参数。由于所布置的喷头采用横向的喷药方式,因此喷雾角的测定实验按照单喷头固定朝着垂直方向进行。对喷雾角度测定的具体实验步骤如下:

步骤1:根据上述所选型号的硬件设备在室内搭建出一条单支路液压管道,搭建的测定场景如图2-13(a)所示,将喷头绑在竖直的金属支架上。为计算出准确的喷雾角度,需保证拍摄的图片前后景对比明显,因此在墙壁上贴上黑色幕布作为背景。
步骤2:单片机发送连续的高电平信号,以控制电磁阀处于常开状态,此时PWM占空比设定为100%,并且一直保持,以测定喷头的最大喷雾角度。药液被喷药泵从水箱中抽取后依次通过电磁阀和喷头,最终雾化效果如图2-13(b)所示;
步骤3:待喷雾测试平台工作稳定后,通过摄像机连续拍摄多组喷雾角的正投影,经过筛选,其中10张喷雾照片的界限较为清晰,并导入Visio制图软件,利用尺寸度量工具测得,测定数据见表2-6,最终确定的平均值约为81°。

在这里插入图片描述

3.2确定喷头布置间距

由于喷施的药液分布为平面扇形,故果树喷药机器人在直线作业过程中喷雾面呈现矩形。根据机器人横向喷药的作业特点,对多个喷头采用等间距的垂直布置方式,从而建立起喷头布置间距与喷雾距离模型,如图2-14所示。其中,黑色圆点代表喷头,阴影部分表示相邻喷头的喷雾重叠区域。
在这里插入图片描述
因果树生长状态的差异导致冠幅有所差别,经过实地测量,喷头一般距果树冠层的距离d为30-60cm,代入式(2-10),计算出喷头的布置间距h,为简化参数,取系数为1.24,此时得到h为37~74cm。本文取h为50cm,符合取值范围要求,即在喷头布置间距50cm的条件下,可保证较好的雾化性能的同时,符合喷头的作业幅宽规划,基本满足有效喷雾作业需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/84330.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OSPF技术入门(第三十四课)

1 OSPF的介绍 OSPF是一种链路状态路由协议,主要用于IP网络中的路由选择。它是一种开放协议,能够在不同的网络设备之间进行通信。OSPF利用链路状态数据库来描述网络拓扑结构,并通过Dijkstra算法计算出最短路径。它支持按照精确度划分的路由优先级,以及多个相等的路径,并能自…

二叉树(4)------收尾

1)最大二叉树 654. 最大二叉树 - 力扣(LeetCode) 题目解析: 1)首先我们找到了整个数组中最大的元素作为我们的根节点,然后再从左区间中找到最大的元素作为当前根节点的左子树,然后再从右区间里面找到最大的元素作为根节点的右子树…

ruby send call 的简单使用

refer: ruby on rails - What does .call do? - Stack Overflow Ruby使用call 可以调用方法或者proc m 12.method("") # > method gets the method defined in the Fixnum instance # m.class # > Methodm.call(3) #> 15 # 3 is passed inside the…

基于最新导则下生态环评报告编制技术暨报告篇、制图篇、指数篇、综合应用篇系统性实践技能提升

查看原文>>>基于最新导则下生态环评报告编制技术暨报告篇、制图篇、指数篇、综合应用篇系统性实践技能提升 目录 专题一、生态环评报告编制规范 专题二、土地利用图 专题三、植被类型及植被覆盖度图 专题四、物种适宜生境分布图 专题五、生物多样性测定 专题六…

网神 SecGate 3600 防火墙任意文件上传漏洞复现(HW0day)

0x01 产品简介 网神SecGate3600下一代极速防火墙(NSG系列)是基于完全自主研发、经受市场检验的成熟稳定网神第三代SecOS操作系统 并且在专业防火墙、VPN、IPS的多年产品经验积累基础上精心研发的高性能下一代防火墙 专门为运营商、政府、军队、教育、大型…

Jenkins自动化打包脚本

一、背景 jenkins可以设置定时任务打包,也已手动点按钮打包,还可以通过执行http请求打包,今天我们就通过shell脚本,通过curl命令进行jenkins打包。 二、步骤 2.1 在jenkins上构建项目 设置触发器 2.2 通过shell脚本触发远程构…

springboot整合JMH做优化实战

这段时间接手项目出现各种问题,令人不胜烦扰。吐槽下公司做项目完全靠人堆,大上快上风格注定留下一地鸡毛,修修补补不如想如何提升同事代码水准免得背锅。偶然看到关于JMH对于优化java代码的直观性,于是有了这篇文章,希…

【JavaScript】jquery的导入方式有两种:本地导入和线上导入

前言 jQuery是一个用来代替JavaScript来快捷书写前端脚本语言的库,jQuery可以大大的简化复杂的js代码,使开发人员专注于实现页面的效果。 导入方式有两种 jQuery的导入方式有两种,一种是本地导入,一种是利用超链接导入。 方法…

SpringBoot 整合MyBatis

整合MyBatis 官方文档:http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/ Maven仓库地址:https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter/2.1.3 整合测试 导入 MyBatis 所需要的…

Python数据分析案例03——天气K均值聚类分析

聚类常用的算法肯定是K均值聚类了,本次案例采用陕西的十个地区的天气数据,构建特征,进行聚类分析。 首先数据都装在‘天气数据’这个文件夹里面,如图: 打开其中一个excel,长这个样子 下面开始数据处理 数据…

Django实现音乐网站 ⑼

使用Python Django框架制作一个音乐网站, 本篇主要是后台对专辑、首页轮播图原有功能的基础上进行部分功能实现和显示优化。 目录 专辑功能优化 新增编辑 专辑语种改为下拉选项 添加单曲优化显示 新增单曲多选 更新歌手专辑数、专辑单曲数 获取歌手专辑数 保…

07-2_Qt 5.9 C++开发指南_二进制文件读写(stm和dat格式)

文章目录 1. 实例功能概述2. Qt预定义编码文件的读写2.1 保存为stm文件2.2 stm文件格式2.3 读取stm文件 3. 标准编码文件的读写3.1 保存为dat文件3.2 dat文件格式3.3 读取dat文件 4. 框架及源码4.1 可视化UI设计4.2 mainwindow.cpp 1. 实例功能概述 除了文本文件之外&#xff…

MGRE综合

实验 一、实验思路 1.先按照上图配置IP地址及环回 2.写缺省使公网可通 3.让R1、R4、R5每台路由器均成为中心站点形成全连网状结构拓扑 4.让R1成为中心站点R2R3为分支站点 5.分区域宣告ospf之后更改ospf在虚拟接口Tunnel工作方式为broadcast及让R1 当选DR 二、上虚拟机操作…

数字万用表测量基础知识--DMM的显示位数

概览 DMM(即数字万用表)是一种电气测试和测量仪器,可测量直流和交流信号的电压、电流和电阻。本文介绍如何正确使用和理解数字万用表(DMM)。 DMM的显示位数 数字万用表(DMM)可用于进行各种测量。在选择DMM或理解所使用的DMM时,首…

改进的麻雀算法优化最大相关峭度解卷积(SCSSA-MCKD),实现早期微弱故障诊断,MATLAB代码实现

01 引言 由于一些设备的早期故障产生的冲击十分微弱,易被系统噪声干扰,如何有效地对设备的原始故障信号进行降噪并增强信号中微弱冲击成分,是进行该类部件早期故障诊断的关键。 最大相关峭度解卷积(MCKD)通过解卷积运算…

Kotlin读写分离CopyOnWriteArrayList

Kotlin读写分离CopyOnWriteArrayList 基于读写分离思想Copy-On-Write(COW)设计的线程安全ArrayList变体,读读共享、写写互斥、读写互斥、写读互斥。读时直接读,不用加锁同步,线程安全。写/删/修改数据时复制一个副本,在新的List副…

【AI理论学习】手把手推导扩散模型:Diffusion Models(DDPM)

手把手推导扩散模型:Diffusion Models(DDPM) DDPM理论回顾前置知识过程详解Forward ProcessReverse Process DDPM算法伪代码训练部分采样部分 总结一下 参考链接 在这篇博客文章中,我们将深入研究 去噪扩散概率模型(也称为 DDPM&…

Linux Linux系统文件类型与文件权限

一、文件类型 (1)在windows系统中文件类型以文件的后缀名来区分,在Linux系统中文件类型不以后缀名来区分。注意编写c代码时必须写后缀名.c,不然C编译器不会编译该文件。 (2)在Linux系统中以文件的标志来区…

如何用SOLIDWORKS Simulation 避免共振现象

零件都有它的固有振动频率,称之为共振频率。当零部件的固有频率和激励频率相近时,对零部件的破坏是非常严重的,这就是我们说的共振。频率分析是设计师日常工作常见的设计验证。 今天给大家分享的是Simulation的频率分析操作方法: …

Linux配置QT Creator环境:ubuntu中安装QT Creator环境

一、前景 目前市面上很多公司使用QT Creator进行界面开发,基本都会选择在Linux环境进行,优点不仅是市场所需,更是方便后期代码的移植,相较于Windows系统,Linux系统移植性非常好。故此篇文章,介绍如何在Linu…