当前位置: 首页 > news >正文

机器人如何有效采摘苹果?

摘要:本文利用动捕数据构建拟人运动模型,对比观察两种苹果采摘模式,并对系统性能进行全面评估,为提高机器人采摘效率提供创新方法。


近期,一项关于苹果采摘机器人的有趣研究—— "Design and evaluation of a robotic apple harvester using optimized picking patterns",在农业科学类二区SCI期刊Computers and Electronics in Agriculture上发表。

研究团队利用动作捕捉系统采集的数据构建拟人采摘运动模型,对比观察可应用于苹果采摘机器人的两种运动——优化的“水平拉动弯曲”运动和拟人运动,并使用现场测试对机器人系统的性能进行全面评估。研究为改善苹果采摘机器人的效率和性能提供了创新方法,为未来应用场景的拓展奠定了基础。

研究背景

为降低苹果采摘成本和风险,水果业的机械化势在必行。随着机器视觉技术的发展,苹果收获机器人成为研究热点。苹果收获机器人能够感知环境并自动识别、采摘和放置水果,但目前仍处于实验室和果园试验阶段。收获运动的选择和优化对于苹果采摘机器人的系统性能和效率起着至关重要的作用。

实验过程

机器人硬件中的机械手是完成苹果采摘动作的关键部位。机械手的运动模式设计基于手动拾取动作数据和路径规划。研究团队运用NOKOV度量运动捕捉系统采集采摘者上臂运动的数据,测试区域周围有八个分辨率为2048×1088、3D精度为±0.15mm的数码相机。通过跟踪标记点收集数据,并将其传输到主机进行实时处理,计算空间中移动物体的坐标、速度和加速度(图1)

图1 NOKOV度量动作捕捉系统

1、拟人运动数据采集及路径规划:

实验用带有荧光表面的小球在采摘者的肩部、肘部、手腕和指尖进行标记(图2),由于机械手的结构与人类手臂的结构不同,因此仅使用指尖轨迹数据进行分析。

图2 采摘动作捕捉过程

拾取运动的振幅小且速度快,因此将数据采集频率设置为每秒100帧。同时,为了保持高跟踪精度,系统确保至少有三个摄像头跟踪每个标记点。将运动开始时的指尖标记作为初始位置,每5mm水平位移记录高度变化。数据采集实验共进行了10次。试验完成后对平均值进行多项式拟合,拟合轨迹如图3(a)。

图3. 两种采摘运动的轨迹:(a)拟人采摘运动 和(b)“弯曲水平拉动”采摘运动

2、“弯曲水平拉动”采摘运动路径规划:

使用 MoveIt 进行路径规划。如图3(b)所示。在末端执行器抓住水果后,执行xap-zap平面中从水果位置开始的采摘轨迹。

实验结果

苹果收获现场评估的统计总结如表 1 所示。具体而言,使用拟人动作的苹果采摘成功率为80.17%,比使用“水平拉动并弯曲”动作时(82.93%)低2.76%。另外,在时间方面,使用“水平拉动弯曲”运动的采摘过程的周期时间为12.53±0.53秒,比使用拟人采摘运动的平均时间(17.17±0.36 秒)少4.64 秒;采摘动作本身耗时1.14秒和3.13秒,分别占其总周期时间的9.10%和18.23%。

表1 苹果收获试验结果统计表

在采摘过程中,无论使用哪种动作,苹果都没有被拔出或碰伤。基于上述分析,两种采摘运动都显示出在采摘机器人中的应用潜力。与拟人化运动相比,“水平拉动并弯曲”采摘运动具有优越的采摘周期时间和成功率。未来,拟人化运动或将应用于非结构化果园中的采摘机器人。提高采摘机器人感知环境的能力和采摘长摆树枝上生长的苹果的能力是两个潜在的研究方向。


参考文献:

Lingxin Bu, Chengkun Chen, Guangrui Hu, Adilet Sugirbay, Hongxia Sun, Jun Chen,Design and evaluation of a robotic apple harvester using optimized picking patterns,Computers and Electronics in Agriculture, Volume 198,2022, 107092, ISSN 0168-1699

原文链接:https://doi.org/10.1016/j.compag.2022.10‍7092

相关文章:

机器人如何有效采摘苹果?

摘要:本文利用动捕数据构建拟人运动模型,对比观察两种苹果采摘模式,并对系统性能进行全面评估,为提高机器人采摘效率提供创新方法。 近期,一项关于苹果采摘机器人的有趣研究—— "Design and evaluation of a rob…...

C# OpenCvSharp Yolov8 Detect 目标检测

效果 项目 代码 using OpenCvSharp; using OpenCvSharp.Dnn; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace Open…...

rust数组

一、定义数组 (一)一维数组 1.指定所有元素 语法格式 let variable_name: [dataType; size] [value1,value2,value3];例如 let arr: [i32; 4] [10,20,30,40];2.指定初始值和长度 所有元素具有相同的值 语法格式 let variable_name: [dataType; siz…...

ubuntu | 安装NVIDIA套件:驱动、CUDA、cuDNN

CUDA 查看支持最高的cuda版本 nvidia-smiCUDA Version:12.2 区官网下在12.2.x最新的版本即可CUDA Toolkit Archive | NVIDIA Developer 下载安装 wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run sudo…...

JAVA学习笔记

一、学习要点 java的最大优势就是跨平台; java的三个版本,javaSE标准版本,javaEE企业版本,javaME微型版本(用的比较少); JVM(Java Virtual Machine,Java虚拟机); JRE…...

车载软件架构 —— 持续集成持续交付

车载软件架构 —— 持续集成持续交付 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 对学习而言,学习之后的思考、思考之后的行动、行动之后的改变更重要,如果不盯住内层的改变量,那么在表层投…...

c++ 二元运算符重载, 以加法为例

/* * c 二元运算符重载&#xff0c; 以加法为例 */ #include <stdio.h> class Complex { public: int r0; // real, 实部 int v0; //virtual, 虚部 }; // 重载加法 操作符 // 可见,c2元运算符,取其左侧为第一参数,右侧为第二参数 // 返回值可以付给新的变量 C…...

基于 SpringBoot+Vue的电影影城管理系统,附源码,数据库

文章目录 第一章 简介第二章 技术栈第三章 功能分析第四章 系统设计第5章 系统详细设计六 源码咨询 第一章 简介 本影城管理系统&#xff0c;是基于 Java SpringBoot 开发的。主要包括二大功能模块&#xff0c;即用户功能模块和管理员功能模块。 &#xff08;1&#xff09;管…...

Docker实战技巧(二):Kubernetes基础操作实战

Kubernetes定位在Saas层,重点解决了微服务大规模部署时的服务编排问题 1、关闭防火墙并设置开机禁用   systemctl stop firewalld   systemctl disable firewalld 2、配置repo   cd /etc/yum.repos.d/   下载Docker repo   wget https://mirrors.aliyun.com/docker-…...

计算机视觉与深度学习-循环神经网络与注意力机制-Attention(注意力机制)-【北邮鲁鹏】

目录 引出Attention定义Attention-based model通俗解释应用在图像领域图像字幕生成&#xff08;image caption generation&#xff09;视频处理 序列到序列学习&#xff1a;输入和输出都是长度不同的序列 引出Attention 传统的机器翻译是&#xff0c;将“机器学习”四个字都学…...

Centos7安装wps无法打开及字体缺失的问题解决

在centos7上安装了最新的wps2019版本的wps-office-11.1.0.11704-1.x86_64.rpm&#xff0c;生成了桌面图标并信任&#xff0c;可以新建文件&#xff0c;但是软件无法打开。在终端执行如下命令&#xff0c;用命令行启动wps&#xff1a; cd /opt/kingsoft/wps-office/office6/ ./…...

华为OD机试真题-会议接待-2023年OD统一考试(B卷)

题目描述: 某组织举行会议,来了多个代表团同时到达,接待处只有一辆汽车,可以同时接待多个代表团,为了提高车辆利用率,请帮接待员计算可以坐满车的接待方案,输出方案数量。 约束: 1、一个团只能上一辆车,并且代表团人数(代表团数量小于30,每个代表团人数小于30)小于…...

mysql explain学习记录

参考了公司内相关博客&#xff0c;实践并记录下&#xff0c;为后面分析并优化索引做准备。 MySQL explain命令是查看MySQL查询优化器如何执行查询的主要方法&#xff0c;可以很好的分析SQL语句的执行情况。 每当遇到执行慢&#xff08;在业务角度&#xff09;的SQL&#xff0c;…...

电压放大电路的作用有哪些(电压放大器)

电压放大电路是电子电路中常见且重要的组件&#xff0c;其主要作用是将输入信号的电压放大到所需的输出电压级别&#xff0c;并保持输入信号的形状和准确度。电压放大电路广泛应用于各种电子设备和系统中&#xff0c;具有以下几个重要的作用&#xff1a; 信号放大&#xff1a;电…...

编译opencv-3.4.5 [交叉编译]

在unbuntu20.04环境下编译opencv3.4.5&#xff0c; cmake 版本&#xff1a;3.27.4 gcc 版本&#xff1a;11.4.0 g版本&#xff1a;11.4.0 在此环境下编译opencv4.5.4正常。 1. 编译时遇到的问题 &#xff08;1&#xff09; Built target libprotobuf make: *** [Makefile:163…...

Canal 实现MySQL与Elasticsearch7数据同步

1 工作原理 canal 模拟 MySQL slave 的交互协议&#xff0c;伪装自己为 MySQL slave &#xff0c;向 MySQL master 发送 dump协议 MySQL master 收到 dump 请求&#xff0c;开始推送 binary log 给 slave (即 canal ) canal 解析 binary log 对象(原始为 byte 流) 优点&…...

网络安全攻防对抗之隐藏通信隧道技术整理

完成内网信息收集工作后&#xff0c;渗透测试人员需要判断流量是否出得去、进得来。隐藏通信隧道技术常用于在访问受限的网络环境中追踪数据流向和在非受信任的网络中实现安全的数据传输。 一、隐藏通信隧道基础知识 &#xff08;一&#xff09;隐藏通信隧道概述 一般的网络通…...

读书笔记:多Transformer的双向编码器表示法(Bert)-2

多Transformer的双向编码器表示法 Bidirectional Encoder Representations from Transformers&#xff0c;即Bert&#xff1b; 第2章 了解Bert模型&#xff08;掩码语言模型构建和下句预测&#xff09; 文本嵌入模型Bert&#xff0c;在许多自然语言处理任务上表现优秀&#…...

Python 基于PyCharm断点调试

视频版教程 Python3零基础7天入门实战视频教程 PyCharm Debug&#xff08;断点调试&#xff09;可以帮助开发者在代码运行时进行实时的调试和错误排查&#xff0c;提高代码开发效率和代码质量。 准备一段代码 def add(num1, num2):return num1 num2if __name__ __main__:f…...

spring security auth2.0实现

OAuth 2.0 的认证/授权流程 jwt只是认证中的一步 4中角色 资源拥有者&#xff08;resource owner&#xff09;、客户端&#xff08;client 第三方&#xff09;、授权服务器&#xff08;authorization server&#xff09;和资源服务器&#xff08;resource server&#xff09;。…...

MySQL(6)LOCK和MVCC

一、锁的分类 按照锁的属性&#xff1a;读锁、写锁、共享锁、排它锁、悲观锁、乐观锁 按照锁的范围&#xff1a;表锁、页锁、间隙锁、临键锁、行锁 按照锁的作用&#xff1a;意向锁、意向共享锁、意向排它锁、IS锁、IX锁 二、MySQL为什么要有锁 锁是计算机协调多个进程或线程并…...

最新IDE流行度最新排名(每月更新)

2023年09月IDE流行度最新排名 顶级IDE排名是通过分析在谷歌上搜索IDE下载页面的频率而创建的 一个IDE被搜索的次数越多&#xff0c;这个IDE就被认为越受欢迎。原始数据来自谷歌Trends 如果您相信集体智慧&#xff0c;Top IDE索引可以帮助您决定在软件开发项目中使用哪个IDE …...

I2C的上拉电阻如何计算?

说明&#xff1a; 1、本文只说明I2C上拉电阻的最小值如何计算。 2、I2C最小值和最大值计算的详细原理可以参考这篇文章&#xff1a;https://mp.weixin.qq.com/s/ZvJJ0rPRd_STULj8g1H81A。 3、I2C最小值的计算方式比较简单&#xff0c;在实际应用中计算出最小值&#xff0c;然后…...

Centos下安装 oracle11g 博客2

[oraclewangmengyuan database]$ ./runInstaller -silent -responseFile /home/oracle/database/response/db_install.rsp -ignorePrereq ./runInstaller -silent -responseFile /home/oracle/database/response/db_install.rsp -ignorePrereq 正在启动 Oracle Universal Insta…...

记一次逆向某医院挂号软件的经历

背景 最近家里娃需要挂专家号的儿保&#xff0c;奈何专家号实在过于抢手&#xff0c;身为程序员的我也没有其他的社会资源渠道可以去弄个号&#xff0c;只能发挥自己的技术力量来解决这个问题了。 出师不利 首先把应用安装到我已经 Root 过的 Pixel 3 上面&#xff0c;点击应…...

Canal实现Mysql数据同步至Redis、Elasticsearch

文章目录 1.Canal简介1.1 MySQL主备复制原理1.2 canal工作原理 2.开启MySQL Binlog3.安装Canal3.1 下载Canal3.2 修改配置文件3.3 启动和关闭 4.SpringCloud集成Canal4.1 Canal数据结构![在这里插入图片描述](https://img-blog.csdnimg.cn/c64b40c2231a4ea39a95aac81d771bd1.pn…...

Kafka的消息传递保证和一致性

前言 通过前面的文章&#xff0c;相信大家对Kafka有了一定的了解了&#xff0c;那接下来问题就来了&#xff0c;Kafka既然作为一个分布式的消息队列系统&#xff0c;那它会不会出现消息丢失或者重复消费的情况呢&#xff1f;今天咱们就来一探。 实现机制 Kafka采用了一系列机…...

Docker 部署 Firefly III 服务

拉取最新版本的 Firefly III 镜像&#xff1a; $ sudo docker pull fireflyiii/core:latest在本地预先创建好 upload 和 export 目录, 用于映射 Firefly III 容器内的 /var/www/html/storage/upload 和 /var/www/html/storage/export 目录。 使用以下命令来运行 Firefly III …...

配置OSPFv3基本功能 华为笔记

1.1 实验介绍 1.1.1 关于本实验 OSPF协议是为IP协议提供路由功能的路由协议。OSPFv2&#xff08;OSPF版本2&#xff09;是支持IPv4的路由协议&#xff0c;为了让OSPF协议支持IPv6&#xff0c;技术人员开发了OSPFv3&#xff08;OSPF版本3&#xff09;。 无论是OSPFv2还是OSPFv…...

【AI视野·今日Sound 声学论文速览 第九期】Thu, 21 Sep 2023

AI视野今日CS.Sound 声学论文速览 Thu, 21 Sep 2023 Totally 1 papers &#x1f449;上期速览✈更多精彩请移步主页 Interesting: &#x1f4da;Auto-ACD,大规模文本-音频数据集自动生成方法。 基于现有的大模型和api构建了一套大规模高质量的音频文本数据收集方法&#xff0c…...

淘客网站怎么建立/百度竞价托管公司

主要解决方向&#xff0c;JAVA与MYSQL中编码要统一。通常采用UTF-8.这里虽然你在项目中设置了数据库采用UTF-8&#xff0c;但是那里不包括连接方式之类的。1.查询自身MYSQL编码方式MySQL默认编码是latin1mysql> show variables like character%;---------------------------…...

网络服务器配置设计/seo优化在线诊断

一、LVS-NAT模式的组成LVS-NAT模式的实现&#xff0c;其主要依赖于 LVS调度器&#xff0c;即 Director Server&#xff0c;由上图可以看出&#xff0c;整个调度器&#xff0c;则由两部分构成&#xff1a;用户空间和内核空间。1、内核空间&#xff0c;指的是&#xff0c;在负载均…...

网站建设总体需求分析/网站seo哪里做的好

【本周总结】 1.学习了js红宝书的第四章&#xff1a;基本类型和引用类型的值、执行环境、垃圾收集 2.总结了js红宝书前三章内容 3.学习了ps的一些工具&#xff1a;油漆桶工具、橡皮擦工具、修饰工具、选框工具、套索工具、快速选择工具组、直方图和明暗调整、图层和调整图层 4…...

做移动网站设计/免费b站网页推广

三面问题更为细致了&#xff0c;考察项目经验更多 Java内存模型 full gc怎么触发 gc算法 JVM回收策略 ClassLoader原理和应用 高吞吐量的话用哪种gc算法 ConcurrentHashMap和HashMap volatile的底层如何实现&#xff0c;怎么就能保住可见性了&#xff1f; 有参与过开源…...

用旧手机做网站/全球搜钻是什么公司

什么样的链接算是高质量链接&#xff1f;  按照链接路径的不同&#xff0c;网页中超链接一般分为以下3种类型&#xff1a;内部链接&#xff0c;锚点链接和外部链接。 如果按照使用对象的不同&#xff0c;网页中的链接又可以分为&#xff1a;文本超链接&#xff0c;图像超链接…...

点匠网站开发流程/中国营销策划第一人

为什么80%的码农都做不了架构师&#xff1f;>>> 首先是安装&#xff1a;emerge vsftpd&#xff0c;然后按照下面的操作步骤即可配置ftp&#xff08;主要就是修改/etc/vsftpd/vsftpd.conf&#xff09;。在linux中添加ftp用户&#xff0c;并设置相应的权限&#xff…...