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

news2024/11/22 23:48:56

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

文章目录

  • 一、变量喷药系统工作原理
  • 二、液压通路设计与控制系统封装
    • 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.coloradmin.cn/o/850553.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kettle之Switch/Case 插件

Switch/Case 插件存在于转换中,用于进行分支选择 插件运行下一步的表输入中执行hivesql需选上下面红色方框的,否则Switch/Case分支不生效!

ts中interface自定义结构约束和对类的约束

一、interface自定义结构约束对后端接口返回数据 // interface自定义结构 一般用于较复杂的结构数据类型限制 如后端返回的接口数据// 首字母大写;用分割号隔开 interface Iobj{a:number;b:string } let obj:Iobj {a:1,b:2 }// 复杂类型 模拟后端返回的接口数据 interface Il…

uniapp之当你问起“tab方法触发时eventchange也跟着触发了咋办”时

我相信没有大佬会在这个问题上卡两个小时吧,记下来大家就当看个乐子了。 当时问题就是,点击tab头切换的时候,作为tab滑动事件的eventchange同时触发了,使得接口请求了两次 大概是没睡好,我当时脑子老想着怎么阻止它冒…

CVPR 2023 | 无监督深度概率方法在部分点云配准中的应用

注1:本文系“计算机视觉/三维重建论文速递”系列之一,致力于简洁清晰完整地介绍、解读计算机视觉,特别是三维重建领域最新的顶会/顶刊论文(包括但不限于 Nature/Science及其子刊; CVPR, ICCV, ECCV, NeurIPS, ICLR, ICML, TPAMI, IJCV 等)。本次介绍的论文是:2023年,CVPR,…

备战秋招012(20230808)

文章目录 前言一、今天学习了什么?二、动态规划1.概念2.题目 总结 前言 提示:这里为每天自己的学习内容心情总结; Learn By Doing,Now or Never,Writing is organized thinking. 提示:以下是本篇文章正文…

鉴源实验室丨汽车网络安全攻击实例解析(二)

作者 | 田铮 上海控安可信软件创新研究院项目经理 来源 | 鉴源实验室 社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” 引言:汽车信息安全事件频发使得汽车行业安全态势愈发紧张。这些汽车网络安全攻击事件,轻则给企业产品发布及产品…

docker容器监控:Cadvisor+InfluxDB+Grafana的安装部署

目录 CadvisorInfluxDBGrafan安装部署 1、安装docker-ce 2、阿里云镜像加速器 3、下载组件镜像 4、创建自定义网络 5、创建influxdb容器 6、创建Cadvisor 容器 7、查看Cadvisor 容器: (1)准备测试镜像 (2)通…

Jmeter —— jmeter设置HTTP信息头管理器模拟请求头

HTTP信息头管理器 HTTP信息头管理器是在有需要模拟请求头部的时候进行设置的,添加方式 是 右击线程组 -- 配置元件 -- HTTP信息头管理器 可以通过抓包工具或者F12获取http请求的header头部信息;如下图: 复制并点击jmeter中的从剪贴板添加&am…

Linux基础开发工具之Linux自动项目构建工具的使用

目录 前言 1.make/makefile 1.1 依赖关系/依赖方法 2.原理 3.项目清理 4.make的执行问题 5.相关简单的符号介绍 总结 前言 之前给大家介绍了我们在开发过程中所需要使用到的编辑器vim,以及编译器gcc/g的使用,但是我相信大家在使用过程会发现我们在…

报错注入(主键重复)攻击原理

基本原理 利用数据表中主键不能重复的特点,通过构造重复的主键,使得数据库报错,并将报错结果返回到前端。 SQL说明函数 以pet数据表为例进行说明 rond(): 返回[0,1)区间内的任意浮点数。 count(): 返回每个组的列行数。 如&#xff0…

电商API接口的作用,发展意义

电商API接口的作用是实现电商平台与第三方应用或系统之间的数据交互和功能调用。通过API接口,第三方开发者可以从电商平台获取商品信息、订单信息等数据,并进行相关操作,如创建订单、支付、物流查询、评价等。同时,电商平台也可以…

SpringBoot MDC全局链路解决方案

需求 在访问量较大的分布式系统中,时时刻刻在打印着巨量的日志,当我们需要排查问题时,需要从巨量的日志信息中找到本次排查内容的日志是相对复杂的,那么,如何才能使日志看起来逻辑清晰呢?如果每一次请求都…

Mybatis批处理、Mysql深分页

一、Mybatis批量操作 1、Foreach方式 会拼接成:insert into table (ID, PHONE,MESSAGE) values (?,?,?), (?,?,?), (?,?,?) 当数据过多时,可能生成的动态sql过大,mysql默认仅1M的sql字符串,过长可能会执行失败。 在sql循…

桌面端UI自动化测试如何让SplitButtonControl展开

原始SplitButtonControl图 从图中鼠标所指的控件属性为: ControlType(控件类型): SplitButtonControl ClassName(类名): SplitButton AutomationId(自动化ID): esri_geoprocessing_Pyt…

【ChatGLM】大模型之 ChatGLM 微调

目录 1. 微调方法 2. 全量参数微调 3. P-tuning v2 4. LoRA 1. 微调方法 全参数微调 对模型全量参数进行训练。 P-tunning v2 前缀微调,在模型每一层都增加前缀,只训练这部分的参数,训练量明显小于全量微调。 LoRA 基于矩阵分解的微调&…

记录线上一次mysql只能查询,不能插入或更新的bug

错误复现 突然有一天产品通知xx服务不可用,想着最近也没有服务更新,就先排查一下服务日志 使用postman测试的时候请求明显超时,查看日志显示是一个锁的问题 使用工具连接到mysql,查看information_schema.INNODB_TRX,发现有一个事…

flink+kafka+doris+springboot集成例子

目录 一、例子说明 1.1、概述 1.1、所需环境 1.2、执行流程 二、部署环境 2.1、中间件部署 2.1.1部署kakfa 2.1.1.1 上传解压kafka安装包 2.1.1.2 修改zookeeper.properties 2.1.1.3 修改server.properties 2.1.1.3 启动kafka 2.1.2、部署flink 2.1.2.1 上传解压f…

LabVIEW开发高压配电设备振动信号特征提取与模式识别

LabVIEW开发高压配电设备振动信号特征提取与模式识别 矿用高压配电设备是井下供电系统中的关键设备之一,肩负着井下供配电和供电安全的双重任务,其工作状态直接影响着井下供电系统的安全性和可靠性。机械故障占配电总故障的70%。因此,机械故…

论文浅尝 | 面向多步推理任务专业化较小语言模型

笔记整理:张沈昱,东南大学硕士,研究方向为自然语言处理 链接:https://github.com/FranxYao/FlanT5-CoT-Specialization 动机 本文的动机是探索如何在多步推理任务中通过大型语言模型提升较小的语言模型的性能。作者认为&#xff0…

hive 字段注释乱码

hive 字段注释乱码: 在mysql中运行: alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;OK