【果树农药喷洒机器人】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的条件下,可保证较好的雾化性能的同时,符合喷头的作业幅宽规划,基本满足有效喷雾作业需求。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

活动预告|聊聊Moonbeam治理和生态Grants

为Web3设计良好的治理机制是一项具有挑战性的任务。去中心化治理系统对于Web3的发展至关重要。高效运行的治理机制有助于项目的稳定运行,同时又能提升社区用户的参与度,Web3开发者的凝聚力和活跃度,甚至促进更多创新的商业应用在公链生态落地…

VLAN监控及常见问题排查

局域网,我们通常称为LAN,是一种由基于同一地理位置的设备组成的网络,可实现它们之间的通信,局域网的虚拟对应物是虚拟局域网或 VLAN。VLAN 增强了 LAN,提供了进行更改的灵活性、更高的可扩展性和更好的安全性。 使用 …

【Spring专题】Spring底层核心原理解析

目录 前言阅读导航前置知识Q1:你能描述一下JVM对象创建过程吗?Q2:Spring的特性是什么?前置知识总结 课程内容一、Spring容器的启动二、一般流程推测2.1 扫描2.2 IOC2.3 AOP 2.4 小结三、【扫描】过程简单推测四、【IOC】过程简单推…

install imap error

【错误翻译】 Try to run this command from the system terminal. Make sure that you use the correct version of pip installed for your Python interpreter located at D:\Program Files (x86)\Python\Python39\python.exe. 尝试从系统终端运行此命令。请确保使用安装在…

竞赛项目 疫情数据分析与3D可视化 - python 大数据

文章目录 0 前言1 课题背景2 实现效果3 设计原理4 部分代码5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 大数据全国疫情数据分析与3D可视化 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐&#xff0…

Vue+SpringBoot项目开发:后台登陆功能的实现(二)

写在开始:一个搬砖程序员的随缘记录文章目录 一、SpringBoot项目的搭建二、数据库配置1、新建数据库2、新建用户表 三、SpringBoot项目的配置 一、SpringBoot项目的搭建 项目搭建传送门:从零开始,SpringBoot项目快速搭建 二、数据库配置 1、新建数据库…

nacos安装与启动相关问题(启动闪退和显示此站点的连接不安全)

问题:启动闪退 尝试: 使用记事本打开cmd文件,在文件结尾处新增两行 pause endlocal 如果还有问题:ERROR Nacos failed to start, please see D:\dev\nacos\logs\nacos.log for more details 尝试: 在nacos的bin目…

【100天精通python】Day30:使用python操作数据库_数据库基础入门

专栏导读 专栏订阅地址:https://blog.csdn.net/qq_35831906/category_12375510.html 1 数据库基础知识介绍 1.1 什么是数据库? 数据库是一个结构化存储和组织数据的集合,它可以被有效地访问、管理和更新。数据库的目的是为了提供一种可靠的…

Python-OpenCV中的图像处理-边缘检测

Python-OpenCV中的图像处理-边缘检测 边缘检测Canny算子 边缘检测Canny算子 Canny 边缘检测是一种非常流行的边缘检测算法,是 John F.Canny 在 1986 年提出的。它是一个有很多步构成的算法:噪声去除、计算图像梯度、非极大值抑制、滞后阀值等。 Canny(i…

Android:换肤框架Android-Skin-Support

gihub地址:https://github.com/ximsfei/Android-skin-support 样例: 默认: 更换后: 一、引入依赖: // -- 换肤依赖implementation skin.support:skin-support:4.0.5// skin-supportimplementation skin.support:ski…

Linux系统的Centos7扩容主分区

前言:在学习C#的过程中电脑里面的项目,镜像越来越多之前装系统的时候分配的空间太小导致Linux系统空间不足,应该怎么办呢,lets go 跟着我来将centOS 7扩容吧. 1.关闭虚拟机,在VMWare的”此虚拟机设置“中找到硬盘&…

半年报增幅超预期,但汤臣倍健还是喂不饱年轻人?

文|琥珀消研社 作者|朱古力 谁也想不到,进入三伏天以后首个运动潮流会是“晒背”。 小红书上近5万条“晒背”相关的笔记里,多数都是对“什么时候晒背”、“晒多久合适”等入门级问题的答疑解惑,微博热搜词条更是针对性地给出了“晒背最佳时…

19 | 首尔自行车共享需求预测

文章目录 首尔自行车共享需求预测1. 问题陈述2. 数据描述3. 项目的业务用途是什么?4. 模型构建步骤5. 数据可视化1)热力图2)按季节分的租赁自行车数量3)假日和非假日租赁自行车数量4)太阳辐射与租赁自行车数量5)租赁自行车数量和一天的小时数6)特征重要性首尔自行车共享…

如何选择适合自己的文件传输工具

随着互联网的发展,人们处理文件的需求也随之增加。不管是工作还是生活中,文件传输都是一个非常常见的问题。因此,如何选择适合自己的文件传输工具也越来越重要。在本文中,我将从以下几个方面进行分析和总结,希望能为大…

应用案例|基于三维机器视觉的机器人纸箱拆码垛应用解决方案

Part.1 项目背景 在现代物流和制造行业中,纸箱的拆码垛操作是一项重要且频繁的任务。传统的纸箱拆码垛工作通常由人工完成,这种方式存在劳动强度大、生产效率低以及人为操作容易导致错误等问题,严重影响物料的安全运输和质量。为了满足物流行…

数据结构刷题训练——链表篇(二)

目录 前言 1.题目一:链表分割 1.1 思路 1.2 分析 1.3 题解 2. 题目二:相交链表 2.1 思路 2.2 分析 2.3 题解 3. 题目三:环形链表 3.1 思路 3.2 分析 3.3 题解 总结 前言 本期继续分享链表相关的OJ题目,在这个专栏博客…

《Linux从练气到飞升》No.11 初识操作系统

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的…

Python实现调用百度翻译的API

import requests import hashlib import random import jsondef translate(text, from_lang, to_lang):app_id XXXXX # 替换为你的App IDsecret_key XXXXX # 替换为你的Secret Key# 生成随机数salt random.randint(32768, 65536)# 计算签名sign app_id text str(salt) …

vue的proxy代理详解

一、proxy常用参数说明 module.exports {publicPath: "/",devServer: {proxy: {"/api": {// 代理名称 凡是使用/api开头的地址都是用此代理target: "http://1.2.3.4:5000/", // 需要代理访问的api地址changeOrigin: true, // 允许跨域请求pa…

【云原生】K8S集群

目录 一、调度约束1.1 POT的创建过程1.1调度过程 二、指定节点调度2.1 通过标签选择节点 三、亲和性3.1requiredDuringSchedulingIgnoredDuringExecution:硬策略3.1 preferredDuringSchedulingIgnoredDuringExecution:软策略3.3Pod亲和性与反亲和性3.4使…