机器人制作开源方案 | 智能水果分拣机器人

2023-12-19

作者:史振鹏 岳欣宇 仲祝伟

单位:邢台学院

指导老师:王承林 魏亚清

一、场景调研

智能水果分拣机器人是基于探索者设计的一款可搬运可分拣以及移动的一款轻便机器人,集成了语音控制、分拣、搬运、识别、抓取等功能,全部是使用探索者标准件,通过控制板操作使机器人具有简单的判断能力,首先通过语音模块读取语音,识别数据,根据数据分析需要抓取的物料,同时采用较为先进的颜色识别传感器判断识别物料,再由微处理器对识别的物体进行分析处理,并通过控制模块驱动扩展板,从而趋势舵机做出相应的反应,进而使整个机械臂可以抓取。我们这个产品的主要任务为解脱过剩的劳动力,减少生产成本,收缩生产周期,它可以代替酬劳进行货品的分类,在工厂中进行搬运和装卸的工作,代替人类搬运危险物品如放射性物质、有毒物品等对工人身体的有害的工作,不仅提高了生产和工作效率,而且保证了人们的人身安全和生命财产安全,实现了机器人的自动化、智能化、高效率,这样一款既智能又高效的机器人将促进生产力的快速发展。

样机实物图

二、需求及功能

2.1 项目背景

截至到2020年,全球的智能分拣和搬运市场的规模已经达到了70.2亿美元,并且预计2026年将达到143.4亿美元的高度规模,并且在2020-2026期间复合增长率(CAGR)将为12.63%。

从地区层面来看,中国市场在过去几年变化较快,2020年市场规模为6.5亿美元,约占全球的9.19%,预计2026年将达到17.55亿美元,市场占比逐年增加。

未来自动输入运送和分装收拣设备等应用将逐渐往智能化、模块化和标准化的方向发展,其中模块化有利于帮助企业在安装过程中实现快速调试使设备能正常运行;标准化有利于降低产品生产中的成本与运行过程中损坏产生的维修成本。目前快递企业的二、三级快递网点对性价比高,设备的耐用性要求很高,并且要便于公司维护的自动运输设备与分拣设备。此外未来商业配送物流中心将从仓储中心向配送分拣中心转移,目前,在中国市场上,德马科技,中科微至,欣巴科技,金峰团体等具备比较先进的分拣系统集成方案。

AGV产品已经在逐渐融入新型导航技术,AGV产品移动和避障能力大幅提升,各类移动机器人,码垛,分拣等物流机器人应用日渐遍及。移动机器人主要应用于具有搬运需求的情形,如汽车工业,3C电子,香烟,物流等是移动机器人应用广泛且前景广阔的行业。

2.2 产品需求

根据《2020-2026全球与中国智能分拣系统市场现状及未来发展趋势》这篇文章探索全球与中国市场智能分拣系统的发展现状及未来趋势,分别从生产和消费两个角度分析智能分拣系统的主要生产地区、主要消费地区以及主要的生产产商。其中重点分析全球市场与中国市场目前的主要厂商,包括产品特点、产品规格、不同类型产品的价格、产量、产值及全球和中国市场主要生产商的市场份额。

2.3 功能介绍

① 通过语音模块读取领取相应任务,传输给控制板,控制板通过颜色识别传感器进行图像采集与数据处理,处理后的数据传输到控制板进行计算获取任务信息。

② 自主寻找、识别任务指定水果。

③ 按任务要求的位置将其搬运至指定的存放地点,并按照要求的方向摆放。将传感器反馈的偏移量反应给单片机,对小车的四个步进电机转速进行控制来调整小车身位。机器人小车通过三个舵机来控制其机械臂,因舵机自带的反补常功能,因此机械臂可以转动相应的角度来抓去或放置物体。

三、技术路线说明

3.1 系统硬件设计

本系统基于STC89C51单片机作为主控芯片,控制着舵机模块、激光雷达传感器模块、通讯模块等。通过雷达模块循环识别水果,单片机STC89C51为核心,以雷达传感器为主要检测器件,以SG-90舵机为电机控制模块,通过雷达传感器循环扫描,不断地向单片机发送位置信息。当检测到有物体时,通过串口进行通信,将位置信息发送到单片机上。单片机根据位置信息,单片机继续接受雷达模块的位置信息。 其中硬件包括一个雷达,两个舵机。开机后,所有器件初始化,雷达传感器开始进行位置信息测量,最后通过舵机控制机械臂进行抓取。整体电路框图如下图所示:

整体电路框图

3.1.1 雷达

大多数激光雷达采用光学三角测距技术,配合精密光学视觉采集处理机构,进行高频测距,每次测量过程中,激光雷达发射经过调制的红外激光信号,该激光信号经目标物体漫反射后被激光雷达的光学视觉采集系统接收,再由激光雷达内部处理器实时数据分析,计算出目标物体到雷达的距离以及当前的夹角,最后通过通讯接口输出到外部设备。

激光雷达引脚说明,如下表所示:

3.1.2 电机拖动模块

360度舵机是PWM控制它的旋转速度和旋转方向,500-1500us的PWM是控制它正转,值越小,旋转速度越大;1500-2500us的PWM是它反转,值越大,旋转速度越大。1500us的PWM是控制它停止。(由于每一个舵机的中位可能会不一样,所以有些舵机可能是1520us的PWM,舵机才会停下来。所以需要自己实际测试出舵机的中位。)

360度舵机就是一个普通的直流电机+一个电机驱动板的组合,所以它只能连续旋转,不能定位,也没法知道它的角度和圈数(除非自己在舵机外面加装其它传感器)。

180度舵机是PWM控制它的旋转角度,500-2500us的PWM对应控制180度舵机的0-180度,是一一对应的,一个PWM值对应舵机的一个角度。

3.1.3 时钟

时钟显示采用DS1302芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、周、月、年的信息,每月的天数和闰年的天数可自动调整,可以来记录工作时间。

时钟

3.1.4 ESP8266WIFI模块

这款芯片使用了3.3V的直流电源,体积小,功耗低,支持透传,丢包现象不严重,而且价格超低,本作品用该模块可以实现局域网的控制。

ESP8266模块实物图

3.2 电路原理图整体设计

3.2.1 使用软件的简介

AltiumDesigner在单一设计环境中集成板级和FPGA(现场可编程门阵列)系统设计、基于FPGA和分立处理器的嵌入式软件开发以及PCB版图设计、编辑和制造,并集成了现代设计数据管理功能,使得AltiumDesigner成为电子产品开发的完整解决方案--一个既满足当前,也满足未来开发需求的解决方案。

3.2.2 系统电路设计过程

智能水果分拣机器人的系统特征在于它基于STC89C51单片机作为主控芯片,控制着舵机模块、激光雷达传感器模块、通讯模块等。

所述主控制器包括处理器U1和2个20引脚的单排排针P3、P4,所述处理器U1的型号为STC15W4K58S4,所述排针P3的1脚到20脚分别对应接处理器U1的1脚到20脚,所述排针P4的1脚到20脚分别对应接处理器U1的40脚到21脚。

所述存储电路包括芯片U2、电阻R17、R18;所述芯片U3的型号为AT24C02,其1脚-4脚、7脚均接地,其5脚、6脚分别接处理器U1的P3.6、P3.7,其8脚接所述VCC;所述电阻R4接在芯片U3的5脚与VCC之间,所述电阻R3接在芯片U3的6脚与VCC之间。

AT24C0存储模块

时钟电路,其1脚接VCC,其2脚和其3脚分别接Y1晶振的两端,其8脚连接D电池盒的一端,电池盒另一端连接GND,其5脚、其6脚和其7脚分别接处理器U1的P4.4引脚、P4.2引脚、P4.1引脚。

时钟模块

按键电路包括开关A1-A4;所述开关A1-A4的4脚接地,3脚分别接处理器U1的P2.0引脚、P2.1引脚、P2.2引脚、P2.3引脚,1脚和2脚都不接。以便于对激光发射方向的手动控制。

按键

WIFI电路包括WIFI的U13,其3-4脚接处理器处理器U1的P3.0引脚、P3.1引脚,其1脚接VCC,其2脚接GND。

WIFI模块

所述下载电路包括下载器U14和3脚开关B1,所述下载器的3脚接GND,其4脚接B1的1脚,其1-2脚接处理器处理器U1的P3.0和P3.1。所诉3脚开关B1的3脚不接,2脚接VCC。

示例程序

void stop();

void forward();

void back();

void turnleft();

void turnrigit();

void setup()

{

   pinMode( 5 , OUTPUT);

   pinMode( 6 , OUTPUT);

   pinMode( 9 , OUTPUT);

   pinMode( 10 , OUTPUT);

}

void loop()

{

   forward();

   delay( 2000 );

   turnleft();

   delay( 1000 );

   turnrigit();

   delay( 1000 );

   back();

   delay( 1000 );

   stop();

   delay( 1000 );

}

void back()

{

   digitalWrite( 5 , LOW );

   digitalWrite( 6 , HIGH );

   digitalWrite( 9 , LOW );

   digitalWrite( 10 , HIGH );

}

void forward()

{

   digitalWrite( 5 , HIGH );

   digitalWrite( 6 , LOW );

   digitalWrite( 9 , HIGH );

   digitalWrite( 10 , LOW );

}

void turnleft()

{

   digitalWrite( 5 , HIGH );

   digitalWrite( 6 , LOW );

   digitalWrite( 9 , HIGH );

   digitalWrite( 10 , LOW );

}

void stop()

{

   digitalWrite( 5 , LOW );

   digitalWrite( 6 , LOW );

   digitalWrite( 9 , LOW );

   digitalWrite( 10 , LOW );

}

void turnrigit()

{

   digitalWrite( 5 , LOW );

   digitalWrite( 6 , HIGH );

   digitalWrite( 9 , HIGH );

   digitalWrite( 10 , LOW );

}

五、 作品创新点

① 智能化程度高,本作品采用语音识别模块可识别语音指令。

② 减少不必要器件的使用,使器件图简单明了,但功能齐全,且智能化更高。

③ 电机驱动电路直接集成在主控板上,集成化程度更高。

④ 最优布线设计、布线宽度量根据实际电流大小设置。尽量避免长距离平行走线,在走线拐弯地方避免使用直角,信号线尽量与电源供电线垂直摆置。

⑤ 考虑到小车与主控板的大小,以及空间利用问题,我们将其主控板设计为竖立在小车底盘后方,同时也方便更换。

作品难点

6.1 路径规划和任务调度技术

首先,行驶路径规划。行驶的路径是指:可以解决AGV技术可以从起点到终点行进的一个路径问题。现在内外已经有许多人工智能算法都已经应用到了AGV的行驶路径规划当中。

其次,任务工作的调度。主要是根据当前任务的要求,对当前发布任务进行的处理,具体是对具体的任务进行排序,并选择合适的AGV处理任务等。需要我们不断考虑各个AGV技术的电能供应时间、执行次数以及工作与闲置时间等多重因素,确保可以实现充分调用和合理的分配。

最后,多机协调工作。具体是如何用多个AGV去一块完成某一项任务,并处理在做这个任务的过程中有可能出现的系统工作冲突、死锁等这些问题。目前常见是多机协调工作的方法,具体有基于多智能理论控制法、道路交通规则控制法和分布式协调控制法的多机器人控制法。

6.2 运动控制技术

对于不同的车轮机构和路线行驶布局有着不同的转向和控制方式,现阶段AGV的转向驱动方式包括如下两种:两轮差速驱动转向方式,即将两个独立驱动轮同车轴平行地固定于车体中部,其它的自由万向轮起到支撑作用,控制器通过调节两个驱动轮的不同的转速和转向,可以实现任意转弯半径的转向。

解决方案

① 引导及定位技术。这项技术作为AGV技术研究的核心部分,引导及定位技术的好坏将直接关系着AGV的性能稳定性、自动化程度的高低及应用的实用性。

② 语音控制部分,这部分需要了解语音模块的使用方法,而且语音模块使用时不能有其他声音干扰,这就要求测试环境必须安静,也就意味着对环境要求比较严格,如果提前设置好,那么他会按照设定的程序执行。

③ 小车采用8路灰度检测对小车进行8路灰度传感器来检测赛道线路相对于车身位置并以此为反馈参数让机器人感知自身所处的位置,再将反馈的偏移量反馈给单片机,对小车的四个步进电机转速进行控制来调整小车身位。机器人小车通过三个舵机来控制其机械臂,因舵机自带的反补常功能,因此机械臂可以转动相应的角度来抓去或放置物体。

④ 对于物体颜色的识别采用的是GY-33模块,其工作原理是,照明LED发亮,映射到被测物体后,返回光经过滤镜检测蕴含的RGB的比例值,根据RGB的比例值识别出颜色。

更多详情请见: 【S039】智能水果分拣机器人

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器人制作开源方案 | 智能水果分拣机器人 的相关文章

随机推荐

  • 无法在 Windows 7 上注册 Sybase 15 ASE OLE DB 驱动程序

    我正在尝试在我的 Windows 7 计算机上设置 Sybase 15 ASE OLE DB 驱动程序 我的 32 位 ODBC 数据源管理器 C Windows SysWOW64 odbcad32 exe 的 驱动程序 选项卡中已列出了
  • 使用 Eclipselink Moxy 如何将 xml 内容映射到与值不同的名称?

    在我的 Xml 中我有
  • 【华为数据之道学习笔记】5-9图模型设计

    图模型作为当前流行的信息处理加工技术 自提出以来 迅速在 学术界和工业界得到了普及 在智能推荐 决策分析等方面有着广泛的应用 图模型由节点和边组成 节点表示实体或概念 边则由属性或关 系构成 实体指的是具有可区别性且独立存在的某种事物 如某
  • 压缩炸弹,Java怎么防止

    压缩炸弹 Java怎么防止 什么是压缩炸弹 会有什么危害 什么是压缩炸弹 压缩炸弹 ZIP 一个压缩包只有几十KB 但是解压缩后有几十GB 甚至可以去到几百TB 直接撑爆硬盘 或者是在解压过程中CPU飙到100 造成服务器宕机 虽然系统功能
  • Redis设计与实现之Lua 脚本

    目录 一 Lua 脚本 1 初始化 Lua 环境 2 脚本的安全性 3 脚本的执行 4 EVAL 命令的实现 定义 Lua 函数 执行 Lua 函数 5 EVALSHA 命令的实现 二 小结 一 Lua 脚本 Lua 脚本功能是 Reids
  • 鸿蒙崛起,高校加入培养大军

    前言 近日 华为消费者业务CEO余承东宣布 明年华为将推出鸿蒙原生应用与原生体验的产品 标志着鸿蒙生态正式迈入发展的快车道 与此同时 国内主流的App已经开始着手研发纯鸿蒙系统版本 高校也积极参与 加入鸿蒙的培养大军 鸿蒙 作为华为推动的自
  • Flutter完整开发实战详解(一、Dart语言和Flutter基础)

    前言 在如今的 Fultter 大潮下 本系列是让你看完会安心的文章 本系列将完整讲述 如何快速从0开发一个完整的 Flutter APP 配套高完成度 Flutter 开源项目 GSYGithubAppFlutter 同时也会提供一些Fl
  • 机器学习笔记 - 用于时间序列分析的深度学习技术

    一 简述 过去 时间序列分析采用自回归综合移动平均线等传统统计方法 然而 随着深度学习的出现 研究人员探索了各种神经网络架构来建模和预测时间序列数据 深度学习技术 例如 LSTM 长短期记忆 卷积神经网络和自动编码器 已经在时间序列预测 异
  • 鸿蒙开发入门:deviceConfig内部结构

    deviceConfig内部结构 deviceConfig包含设备上的应用配置信息 可以包含default tv car wearable等属性 default标签内的配置适用于所有通用设备 其他设备类型如果有特殊的需求 则需要在该设备类型
  • 基于springboot的网络阅读与写作平台【论文、源码、开题报告】

    博主介绍 全网个人号和企业号 粉丝40W 每年辅导几千名大学生较好的完成毕业设计 专注计算机软件领域的项目研发 不断的进行新技术的项目实战 热门专栏 推荐订阅 订阅收藏起来 防止下次找不到 千套JAVA实战项目持续更新中 上百套小程序实战项
  • 2023年12月18日-12月24日(项目需求+ue5底层渲染)

    周一 进行了renderdoc dx11试验 发现是汇编模式 周二 7 23 8 00ue5底层渲染02A19 02B03
  • Apache Flink(十五):Flink任务提交模式

    个人主页 IT贫道 大数据OLAP体系技术栈 Apache Doris Clickhouse 技术 CSDN博客 私聊博主 加入大数据技术讨论群聊 获取更多大数据资料 博主个人B栈地址 豹哥教你大数据的个人空间 豹哥教你大数据个人主页 哔哩
  • js刷新当前页面

    js刷新当前页面 大家好 我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3 0的小编 也是冬天不穿秋裤 天冷也要风度的程序猿 深入解析JS刷新当前页面 在网页世界中畅游的技巧 作为Web开发者 我们时常需要通过JavaScript来操作页
  • easyrecovery软件2025免费版电脑数据恢复软件

    easyrecovery14是easyrecovery系列软件的新版本 也是目前行业领先的数据恢复软件 具备更快捷 更高效 更便捷三大特色 能够帮助用户轻松恢复电脑丢失的数据 目前软件支持恢复不同存储介质数据 包括硬盘 光盘 U盘 移动硬盘
  • Docker与云计算平台集成:AWS、Azure、GCP完全指南

    Docker和云计算平台的结合 如AWS Amazon Web Services Azure Microsoft Azure 和GCP Google Cloud Platform 为现代应用的构建和部署提供了巨大的便利性 本文将深入研究如何
  • 华为OD机试 Python 【最大载货量】

    描述 在火车站旁的货运站 小明负责调度2K辆中转车 其中K辆用于干货 K辆用于湿货 每批到站的货物来自不同的供货商 需要按照顺序装入中转车 注意 一个供货商的货物只能装在一辆车上 不能分开 但是 一辆车可以放多个供货商的货物 问题是 要让所
  • 汽车UDS诊断——SecureDataTransmission 加密数据传输(0x84)

    诊断协议那些事儿 诊断协议那些事儿专栏系列文章 本文介绍诊断和通讯管理功能单元下的84服务SecureDataTransmission 在常规诊断通信中 数据极易被第三方获取 所以在一些特殊的数据传输时 标准定义了加密数据传输的服务 简而言
  • php中文乱码或html中文乱码

    参考gpt 一 在PHP中解决中文乱码问题的常见方案有以下几种 设置字符编码 在你的PHP代码中 可以使用 header 函数设置正确的字符编码 常见的字符编码是UTF 8 可以使用以下代码将页面的字符编码设置为UTF 8 header C
  • OpenCV4工业缺陷检测的六种方法【文末送书】

    目录 1 机器视觉 2 缺陷检测 三 工业上常见缺陷检测方法 方法一 基于简单二值图像分析实现划痕提取 效果如下 方法二 复杂背景下的图像缺陷分析 基于频域增强的方法实现缺陷检测 运行截图 方法三 复杂背景下的图像缺陷分析 基于空域增强实现
  • 机器人制作开源方案 | 智能水果分拣机器人

    作者 史振鹏 岳欣宇 仲祝伟 单位 邢台学院 指导老师 王承林 魏亚清 一 场景调研 智能水果分拣机器人是基于探索者设计的一款可搬运可分拣以及移动的一款轻便机器人 集成了语音控制 分拣 搬运 识别 抓取等功能 全部是使用探索者标准件 通过控