【果树农药喷洒机器人】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.mzph.cn/news/32661.shtml

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

相关文章

企业权限管理(八)-登陆使用数据库认证

Spring Security 使用数据库认证 在 Spring Security 中如果想要使用数据进行认证操作,有很多种操作方式,这里我们介绍使用 UserDetails 、 UserDetailsService来完成操作。 UserDetails public interface UserDetails extends Serializable { Collecti…

通过PostMan监视提交文件,验证web文件传输

切换文件流,传输文件 找到图片地址 发送请求然后接受 再来一张 哈,谢谢各位同志的阅读,然后呢如果觉得本文对您有所帮助的话,还给个免费的赞捏 Thanks♪(・ω・)ノ

【剑指Offer 28】对称的二叉树,Java解密。

LeetCode 剑指Offer 75道练习题 文章目录 剑指Offer:对称的二叉树示例:限制:解题思路:剑指Offer:对称的二叉树 【题目描述】 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。…

RabbitMQ之TTL+死信队列实现延迟队列

RabbitMQ是一个流行的消息队列系统,它提供了许多有用的功能,其中之一是TTL(Time To Live)和死信队列。这些功能可以用来实现延迟队列,让我们来看看如何使用它们。 首先,什么是TTL?TTL是消息的存…

OpenStack-Y版安装部署

OpenStack-Y版安装部署 目录 OpenStack-Y版安装部署 1、环境准备 1.1 环境简介1.2 配置hosts解析(所有节点)1.3 配置时间同步1.4 安装openstack客户端(控制节点执行)1.5 安装部署MariaDB(控制节点执行)1.6 安装部署RabbitMQ(控制节点执行)1.7 安装部署Memcache(控制节点执行)2、…

穿越未来:探索虚拟现实科技的未来前景

虚拟现实(Virtual Reality,简称VR)科技,正如一颗崭新的明星,迅猛崛起,为人类带来前所未有的体验和想象空间。随着科技的飞速发展,VR 科技的未来充满了无限的可能性,正将我们引向一个…

IP网络广播系统草坪音箱景区系统防水石头,草坪音箱的应用

IP网络广播系统草坪音箱景区系统防水石头,草坪音箱的应用 SV-7045V是深圳锐科达电子有限公司的一款防水网络草坪音箱,具有10/100M以太网接口,可将网络音源通过自带的功放和喇叭输出播放,可达到功率20W。常用场景:公园ip草坪音箱&…

Labview控制APx(Audio Precision)进行测试测量(六)

用 LabVIEW 驱动 VIs生成任意波形 在 APx500 应用程序中,默认波形类型为正弦。这是指 APx 内置的正弦发生器,根据信号路径设置,许多测量还允许其他内置波形,如方波,分裂正弦波或分裂相位,以及使用导入的。w…

28.Netty源码之缓存一致性协议

Mpsc Queue 基础知识 Mpsc 的全称是 Multi Producer Single Consumer,多生产者单消费者。Mpsc Queue 可以保证多个生产者同时访问队列是线程安全的,而且同一时刻只允许一个消费者从队列中读取数据。 Netty Reactor 线程中任务队列 taskQueue 必须满足多个…

SQL | 高级数据过滤

5-高级数据过滤 通过组合WHERE子句,建立功能更强的检索语句。 5.1-组合WHERE子句 前面写的都是单一条件下的WHERE子句,SQL语句允许给出多个WHERE子句来组合检索,这些WHERE子句通过AND子句或者OR子句进行连接。 操作符(operato…

春秋云镜 CVE-2022-0948

春秋云镜 CVE-2022-0948 WordPress plugin Order Listener for WooCommerce SQLI 靶标介绍 WordPress 插件 Order Listener for WooCommerce 3.2.2 之前版本存在 SQL注入漏洞。 启动场景 漏洞利用 EXP curl http://example.com/?rest_route/olistener/new --data {"…

指针的一些笔试题

一: 二: 三: 四: 五: 六 七 八,printf对指针的 --操作是会改变pcc的,要继承,而单纯的数子,是不会改变原有位置的

springboot使用aop排除某些方法,更新从另外一张表,从另外一张表批量插入

AOP 在Spring Boot中使用AOP时,如果想要排除某些方法不被切面所影响,可以通过使用切面表达式中的!within关键字来实现。以下是一个示例: Aspect Component public class MyAspect {Before("execution(* com.example.service.*.*(..)) …

Git远程仓库

Git远程仓库 推送拉取git fetchgit pull 克隆 推送 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。那要怎么实现这种分布呢?我们可以找一台电脑充当服务器,也就是扮演远程仓库的角色,一直都处于开机…

用php语言写一个chatgpt3.5模型的例子

当然可以!使用PHP语言调用OpenAI API与ChatGPT-3.5模型进行交互。首先,确保你已经安装了PHP 7.2或更新版本,并具备可用的OpenAI API密钥。 下面是一个基本的PHP示例,展示了如何使用OpenAI API与ChatGPT-3.5模型进行对话&#xff…

Android 广播阻塞、延迟问题分析方法

一、问题 最近遇到一个问题,发送广播(普通广播)给另一个应用,但是广播需要要等约1min后才收到。 二、分析原因 原因是系统有个广播接收器在接收到广播后处理了接近50s,所以阻塞了后面的广播处理。如果大家也出现了广…

低代码助力传统制造业数字化转型策略

随着制造强国战略逐步实施,制造行业数字化逐渐进入快车道。提高生产管理的敏捷性、加强产品的全生命周期质量管理是企业数字化转型的核心诉求,也是需要思考的核心价值。就当下传统制造业的核心问题来看,低代码是最佳解决方案,那为…

【Linux 网络】NAT技术——缓解IPv4地址不足

NAT技术 NAT 技术背景NAT IP转换过程NAPTNAT 技术的缺陷 NAT(Network Address Translation,网络地址转换)技术,是解决IP地址不足的主要手段,并且能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算…

Seata - 入门笔记

1、事务 访问并可能更新数据库中数据库中各种数据线的一个程序执行单元 原子性:事务是一个不可分割的工作单位,一个事务要么都做要么都不做 一致性:必须是使数据库从一个一致性到另一个一致性的状态,中间状态不能被观察到 隔离…

Vector - CAPL - 诊断模块函数(流控制帧续)

目录 CanTpGetFirstSequenceNumber & CanTpSetFirstSequenceNumber 代码示例 CanTpIsUseFlowControlSTmin & CanTpIsUseFlowControlSTmin & CanTpUseFlowControlSTmin CanTpIsUseFlowControlFrames & CanTpUseFlowControlFrames 代码示例 CanTpSetFlowC…