【果树农药喷洒机器人】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的条件下,可保证较好的雾化性能的同时,符合喷头的作业幅宽规划,基本满足有效喷雾作业需求。
相关文章:
【果树农药喷洒机器人】Part3:变量喷药系统工作原理介绍
本专栏介绍:免费专栏,持续更新机器人实战项目,欢迎各位订阅关注。 关注我,带你了解更多关于机器人、嵌入式、人工智能等方面的优质文章! 文章目录 一、变量喷药系统工作原理二、液压通路设计与控制系统封装2.1液压通路…...
GoogLeNet创新点总结
GoogLeNet是一种深度卷积神经网络架构,于2014年由Google团队提出,是ILSVRC(ImageNet Large Scale Visual Recognition Challenge)比赛的冠军模型,其创新点主要集中在以下几个方面: Inception模块&#…...
不同路径1、2、3合集(980. 不同路径 III)
不同路径一 矩形格,左上角 到 右下角。 class Solution {int [] directX new int[]{-1,1,0,0};int [] directY new int[]{0,0,-1,1};int rows;int cols;public int uniquePathsIII(int[][] grid) {if (grid null || grid.length 0 || grid[0].length 0) {ret…...
【云原生】Yaml文件详解
目录 一、YAML 语法格式1.1查看 api 资源版本标签1.2 写一个yaml文件demo1.3 详解k8s中的port 一、YAML 语法格式 Kubernetes 支持 YAML 和 JSON 格式管理资源对象JSON 格式:主要用于 api 接口之间消息的传递YAML格式:用于配置和管理,YAML 是…...
ffmpeg下载安装教程
ffmpeg官网下载地址https://ffmpeg.org/download.html 这里以windows为例,鼠标悬浮到windows图标上,再点击 Windows builds from gyan.dev 或者直接打开 https://www.gyan.dev/ffmpeg/builds/ 下载根据个人需要下载对应版本 解压下载的文件,并复制bin所在目录 新打开一个命令…...
uniapp之当你问起“tab方法触发时eventchange也跟着触发了咋办”时
我相信没有大佬会在这个问题上卡两个小时吧,记下来大家就当看个乐子了。 当时问题就是,点击tab头切换的时候,作为tab滑动事件的eventchange同时触发了,使得接口请求了两次 大概是没睡好,我当时脑子老想着怎么阻止它冒…...
TS 踩坑之路(四)之 Vue3
一、在使用定义默认值withDefaults和defineProps 组合时,默认值设置报错 代码案例 报错信息 不能将类型“{ isBackBtn: false; }”分配给类型“(props: PropsType) > RouteMsgType”。 对象字面量只能指定已知属性,并且“isBackBtn”不在类型“(pro…...
【音视频】edge与chrome在性能上的比较
目录 结论先说 实验 结论 实验机器的cpu配置 用EDGE拉九路编辑 google拉五路就拉不出来了 资源使用情况 edge报错编辑 如果服务器端 性能也满 了,就会不回复;验证方式 手动敲 8081,不回应。 结论先说 实验 用chrome先拉九路&#…...
Docker Compose编排部署LNMP服务
目录 安装docker-ce 阿里云镜像加速器 文件 启动 安装docker-ce [rootlocalhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo --2023-08-03 18:34:32-- http://mirrors.aliyun.com/repo/Centos-7.repo 正在解析主机 m…...
git使用(常见用法)
一.下载git git官方下载跳转 安装简单,有手就行 二. git的简单使用 1. 连接远程仓库 #初始化 git init #配置账户 git config --global user.name “输入你的用户名” git config --global user.email “输入你的邮箱” git config --list #--q退出 #配置验证邮箱 ssh-key…...
用例拆分情况考虑方案
文章目录 1、方案一方案概述方案分析(1) 把对应图商地图的逻辑给分离开(2) 要使用命令行的方式执行方法 2、方案二3、最终决定 1、方案一 方案概述 每个图商(GD、BD、自建)拆分成单独的类 把参数化的几个图商类别拆分成对应的图商类,在每个类…...
一文搞懂IS-IS报文通用格式
报文格式 IS-IS报文是直接封装在数据链路层的帧结构中的。PDU可以分为两个部分,报文头和变长字段部分。其中头部又可分为通用头部和专用头部。对于所有PDU来说,通用报头都是相同的,但专用报头根据PDU类型不同而有所差别。 IS-IS的PDU有4种类…...
位置参数 关键字参数
在Python中,函数参数可以按照位置或关键字来传递。这导致了两种主要的参数类型:位置参数和关键字参数。 位置参数: 这是最常见的参数类型,当我们调用函数时,传递给函数的参数值是按照它们的位置来确定的。例如,def fun…...
【果树农药喷洒机器人】Part5:基于深度相机与分割掩膜的果树冠层体积探测方法
文章目录 一、引言二、树冠体积测量对比方法2.1冠层体积人工测量法2.2冠层体积拟合测量法 三、基于深度相机与分割掩膜探测树冠体积方法3.1像素值与深度值的转换3.2树冠体积视觉探测法3.3实验分析 总结 一、引言 果树靶标探测是实现农药精准喷施的关键环节,本章以果…...
生活小妙招之UE custom Decal
因为这几年大部分时间都在搞美术,所以博客相关的可能会鸽的比较多,阿巴阿巴 https://twitter.com/Tuatara_Games/status/1674034744084905986 之前正好看到一个贴花相关的小技巧,正好做一个记录,也在这个的基础上做一些小的拓展…...
DAY02_Spring—第三方资源配置管理Spring容器Spring注解开发Spring整合Mybatis和Junit
目录 一 第三方资源配置管理1 管理DataSource连接池对象问题导入1.1 管理Druid连接池1.2 管理c3p0连接池 2 加载properties属性文件问题导入2.1 基本用法2.2 配置不加载系统属性2.3 加载properties文件写法 二 Spring容器1 Spring核心容器介绍问题导入1.1 创建容器1.2 获取bean…...
Icon图标有哪些在线设计的工具推荐
虽然icon图标相对较小,但icon图标在设计中非常重要。高质量的icon图标通常可以决定设计工作的质量。高质量的在线生产icon工具可以提高设计师图标设计的效率。此外,优秀的图标设计师还可以让设计师快速开始图标设计工作。本文为您选择了五种在线生成icon…...
深度学习环境安装依赖时常见错误解决
1.pydantic 安装pydantic时报以下错误: ImportError: cannot import name Annotated from pydantic.typing (C:\Users\duole\anaconda3\envs\vrh\lib\site-packages\pydantic\typing.py) 这个是版本错误,删除装好的版本,重新指定版本安装就…...
opencv基础47 查找图像轮廓cv2.findContours()详解
什么是图像轮廓? 图像轮廓是指图像中物体边缘的连续性曲线。在计算机视觉和图像处理中,轮廓通常被用于检测物体、分割图像以及提取物体特征。 图像轮廓是由一系列连续的像素点组成,这些像素点位于物体边界上。轮廓的特点是在物体和背景之间的…...
Splunk Enterprise for mac(可视化数据分析软件)详细安装教程
Splunk Enterprise for Mac是一款可视化数据分析软件,为你提供强大的搜索、 分析和可视化功能,可以帮助您获得有价值的业务情报,从你机器生成的数据。还在等什么?有需要的朋友,欢迎前来下载! 实时监测和搜…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...
