通过颜色传感器控制机械臂抓物体

目录

1 绪论

2整体设计方案

2.1 系统的介绍

2.2 抓取模块

2.2.1 机械臂的定义

2.2.2 机械臂的分类

2.2.3 机械臂的选用

2.3 颜色识别模块

2.3.1 颜色传感器识别原理

2.3.2 TCS3200简介

2.4 整体控制方案

3 颜色识别抓取系统的硬件设计

3.1 单片机选型及参数

3.2 系统电路设计

3.2.1 电源电路

3.2.2 单片机最小系统

4 颜色识别抓取系统软件设计

4.1 软件开发环境

4.2 软件控制方案

5 成品

6 作品应用价值

1 绪论

近年来,随着农业产业机构的调整,林果生产已经成为很多地区经济发展和农民增收的支柱产业,随着种植面积的不断扩大,果园规模化发展和规范化管理的要求日益提高,从而果园机械化日益重要。果园收获机械的发展,可以减轻果农的劳动强度,提高生产效率,节约劳动成本,提高经济效益。由于我国果园作业机械研究起步较晚,基础相对较差,因此,果园作业机械化程度和欧美等国家还是存在差距。所以,针对我国各地林果生产特点研究相应的作业机械,对林果产业的发展有重要意义。

我国是世界第一大水果生产国,也是世界第一大水果消费国。水果种植业的迅速发展提升了果园机械的市场需求。采摘作业所用劳动力占整个生产过程所用劳动力的33%~50%,目前我国的水果采摘绝大部分还是以人工采摘为主。采摘作业比较复杂,季节性很强,若使用人工采摘,不仅效率低、劳动量大,而且容易造成果实的损伤,如果人手不够不能及时采摘还会导致经济上的损失。使用采摘机械不仅提高采摘效率,而且降低了损伤率,节省了人工成本,提高了果农的经济效益,因此提高采摘作业机械化程度有重要的意义。


2整体设计方案

2.1 系统的介绍

本系统主要由两部分组成。分别是由机械臂组成的抓取模块,由TCS3200组成的颜色识别模块。

作品采取以球面坐标系为基础,来操控机械臂的方案,通过改变水平面转过的角度,垂直面转过的角度,和机械臂伸长的长度来控制机械手在三维空间中的移动。

作品以中心为基准向两边分别展开约为60度的搜索圈,当它发现物体后,会分辨物块颜色并且对当前位置进行记录,而后对物块进行抓捕,翻转和放置。不同颜色的物块会被放置到不同区域。实现分类管理。

目前机械臂的有效扫描半径为10cm至20cm,在这个区间内,机械臂能完成其应有功能。

2.2 抓取模块

由TCS3200返回的频率值,判断是继续移动还是进行抓取并放入指定位置。

2.2.1 机械臂的定义

机械手臂是机械人技术领域中得到最广泛实际应用的自动化机械装置,尽管它们的形态各有不同,但它们都有一个共同的特点,就是能够接受指令,精确地定位到三维(或二维)空间上的某一点进行作业。

如下图为常见的六自由度机械手臂。他有X移动,Y移动,Z移动,X转动,Y转动,Z转动六个自由度组成。

图2-1 常见的六自由度机械手臂

结构形式:

       水平多关节机械手臂一般有三个主自由度,Z1转动,Z2转动,Z移动。通过在执行终端加装X转动,Y转动可以到达空间内的任何坐标点。

直角坐标系机械手臂有三个主自由度。X移动,Y移动,Z移动组成,通过在执行终端加装X转动,Y转动,Z转动可以到达空间内的任何坐标点。

2.2.2 机械臂的分类

机械手臂根据结构形式的不同分为多关节机械手臂,直角坐标系机械手臂,球坐标系机械手臂,极坐标机械手臂,柱坐标机械手臂等。

图2-2 各类机械臂结构

2.2.3 机械臂的选用

(1)直角坐标式,手臂在直角坐标系的三个坐标轴方向作直线移动,即手臂的前后伸缩、上下升降和左右移动。这种坐标形式占据空间大而工作范围却相对较小、惯性大,它适用于工作位置成直线排列的情况。

(2)圆柱坐标式,手臂作前后伸缩、上下升降和在水平面内摆的动作。与直角坐标式相比,所占空间较小而工作范围较大,但由于机构结构的关系,高度方向上的最低位置受到限制,所以不能抓取地面上的物体,惯性也比较大。

(3)球坐标式,手臂作前后伸缩、上下俯仰和左右摆动的动作。其最大的特点是以简单的机构得到较大的工作范围,并有可能抓取地面上的物体。

图2-3 各类机械臂坐标式

2.3 颜色识别模块

由机械臂带动TCS3200移动,使TCS3200能移动到与物块大约1cm处,并由物块颜色返回一个频率值给单片机。

2.3.1 颜色传感器识别原理

三基色原理:适当选取三种基色(红,绿,蓝),将它们按不同比例进行合成,就可以引起不同的颜色感觉,合成彩色光的亮度由三个基色的亮度之和决定,色度由三基色分量的比例决定,三基色彼此独立,任一种基色不能由其他两种颜色配出。

识别颜色原理:由三原色感应原理可知,如果知道构成各种颜色的三原色的值,就能够知道所测试物体的颜色。对于TCS3200来说,当选定一个颜色滤波器时,它只允许某种特定的原色通过,阻止其他原色的通过。例如:当选择红色滤波器时,入射光中只有红色可以通过,蓝色和绿色都被阻止,这样就可以得到红色光的光强;同时,选择其他的滤波器,就可以得到蓝色光和绿色光的光强。通过这三个值,就可以分析投射到TCS3200传感器上的光的颜色。

2.3.2 TCS3200简介

TCS3200把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMOS电路上,同时在单一芯片上集成了红绿蓝(RGB)三种滤光器。

TCS3200采用8引脚的SOIC表面贴装式封装,在单一芯片上集成有64个光电二极管,这些二极管分为四种类型,其16个光电二极管带有红色滤波器;16个光电二极管带有绿色滤波器;16个光电二极管带有蓝色滤波器,其余16个不带有任何滤波器,可以透过全部的光信息,这些光电二极管在芯片内是交叉排列的,能够最大限度地减少入射光辐射的不均匀性,从而增加颜色识别的精确度;另一方面,相同颜色的16个光电二极管是并联连接的,均匀分布在二极管阵列中,可以消除颜色的位置误差。

2.4 整体控制方案

通过控制机械臂的摆动来带动颜色传感器进行扫描,当颜色传感器看到颜色时,机械臂会伸长其长度以确认颜色,在确定其颜色后,机械臂执行抓取放置程序,不同颜色的物块会被放置到不同的区域,从而实现对不同颜色物块的分类。

图2-4 整体控制方案


3 颜色识别抓取系统的硬件设计

3.1 单片机选型及参数

本系统的核心元件是单片机。在选择单片机时。选择了其内部容量可以达到本设计要求大容量芯片的单片机MSP430。MSP430管脚图如图3-1所示。

图 3-1 MSP430管脚图

                                          

3.2 系统电路设计

3.2.1 电源电路

由于本系统使用的处理器为MSP430。所以本系统需要为其提供3V供电。本系统使用专用5V电源接口供电。在接口中使用电源管理芯片来将系统供电分别分成5V和3V供电。如图3-2所示。

图 3-2 电源电路    

                     

3.2.2 单片机最小系统MSP430单片机需要有单片机最小系统提供其运行的根本要求。其中包括电源供电,防止程序崩溃的复位系统和提供其运行时钟的晶振电路。

单片机最小系统如图3-3所示。

图3-3 单片机最小系统

在系统需要重新开始时和系统发生错误时,单片机的复位功能提供了解决的办法。其连接方法是给其固定的低电平。当需要复位时使用高电平进行复位。复位电路在电子设计中经常被使用。同时各种设备的复位方法也有很多。单片机的复位方法比如看门狗Watch Dog、软件复位等等。

晶体振荡器经常被使用来提供时钟信号或者称之为晶振。门电路的正常工作的首要因素就是在系统中要具有晶振提供时钟震荡,单片机只有在拥有晶振信号的情况下才能正常工作。晶振的作用非常大,例如在程序中需要使用晶振来确定某个程序执行的时间。在某些情况之下,可以知道某指令需要几个周期来执行,执行一个程序或者一个函数具体所需要花费的精准时间可以通过晶振参数可以知道。通常晶振也会被用在一些电脑器材当中。晶振的时钟信号经过倍频器可以将频率提高到很高的情况。然后供给一些要求频率高的器件使用。当然,高频率的时钟也可以通过分频器进行降频。并且同一个时钟信号可以降频成多个时钟源,供给多个外接设备使用。


4 颜色识别抓取系统软件设计

4.1 软件开发环境

次毕业设计运用的是C语言。在MSP430单片机中,编写相关的程序允许使用C语言和汇编语言。但是汇编语言有其独有的特点,那就是不好读懂不方便理解。所以本系统不使用汇编语言。C语言比较汇编语言,其优势最明显的是本系统可以进行模块化编程。各个不同的功能能够完美的封装成不同的函数。保证每个函数只完成一件事。通过多模块的搭配使用最终完成设计。C语言和其他高级语言相比,其优势在于高级语言如果要运行在电脑上,首先要安装运行环境,例如Java我们就需要安装java的 jdk。通常情况之下,C语言可以在任何系统中直接运行。而且C语言同时也可以运行在任何芯片上。在本设计中使用的MSP430单片机,无法在其上面运行系统。所以无法搭建供Java等高级语言所运行的环境。综合考虑,本设计使用C语言完成软件部分代码的编写。

4.2 软件控制方案

程序记过初始化之后,颜色传感器观察颜色分为三部分,机械臂先探头若看到绿色就直接抓取,若未发现绿色,则继续扫视一周看到就抓去,一直未抓就一直扫,知道抓取到物块,抓取到后放到相应位置。  


5 成品

图5-1 成品图


6 作品应用价值

作品可应用于蔬果的采摘,以苹果为例,未成熟的苹果呈现为青色,而成熟的则为红色,识色机械臂可以很好的分辨成熟与未成熟的苹果,采摘成熟的,而“放过”未成熟的。

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

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

相关文章

13.爬虫---PyMongo安装与使用

13.PyMongo安装与使用 1.安装 PyMongo2.使用PyMongo2.1连接数据库和集合2.2增加数据2.3修改数据2.4查询数据2.5删除数据 3.总结 MongoDB 安装可以看这篇文章MongoDB安装配置教程(详细版) 1.安装 PyMongo PyMongo 是Python中用于连接MongoDB数据库的库&a…

适用于 Windows 11 的 5 大数据恢复软件 [免费和付费]

为什么我们需要Windows 11数据恢复软件? 计算机用户经常遇到的一件事就是数据丢失,这种情况随时可能发生。错误地删除重要文件和文件夹可能会非常令人担忧,但幸运的是,有一种方法可以恢复 PC 上丢失的数据。本文将向您展示可用于…

AI引领创意潮流:高效生成图片,参考图助力,一键保存到指定文件夹

在这个数字与创意交融的时代,我们迎来了AI绘画的新纪元。借助先进的AI技术,我们不仅能够高效生成图片,还能在参考图的启发下,激发无限创意,让您的想象力在数字世界中自由翱翔。 首助编辑高手软件中的魔法智能绘图板块&…

路径规划算法--DFS

文章目录 一、DFS二、DFS伪代码三、DFS做全覆盖路径 一、DFS DFS(Depth First Search)为深度优先搜索,是一种用于遍历或搜索树或图的搜索算法。DFS是从当前点出发,沿着一个方向一直搜索,如果搜索完成且未搜索到目标点…

C++系列-String(三)

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” assign 这个接口的目的是用一个新的值代替之前的那个值 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string> #include<list> #include&l…

HTTP协议中的各种请求头、请求类型的作用以及用途

目录 一、http协议介绍二、http协议的请求头三、http协议的请求类型四、http协议中的各种请求头、请求类型的作用以及用途 一、http协议介绍 HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff09;是一种用于分布式、协作式和超媒体信息系统的应…

计算机组成原理 | CPU子系统(3)MIPS32指令架构

MIPS32架构指令格式 MIPS32架构寻址方式 指令的编码与功能

突破内存限制:Jamba模型的高效文本处理能力

在当今信息爆炸的时代&#xff0c;处理和理解海量文本数据的需求日益增长。自然语言处理&#xff08;NLP&#xff09;领域的研究者们一直在探索如何构建更高效、更强大且更灵活的语言模型来应对这一挑战。然而&#xff0c;现有的大型语言模型&#xff0c;尤其是基于Transformer…

昇思25天学习打卡营第8天|保存与加载

一、简介&#xff1a; 上一章节主要介绍了如何调整超参数&#xff0c;并进行网络模型训练。在训练网络模型的过程中&#xff0c;实际上我们希望保存中间和最后的结果&#xff0c;用于微调&#xff08;fine-tune&#xff09;和后续的模型推理与部署&#xff0c;本章节我们将介绍…

关于Vite+Vue+Ts WebStorm路径别名的问题

一、准备一个项目 二、在 vite.config.js 中添加 resolve: {alias: {: /src}} 三、tsconfig.app.json中添加代码 //添加代码"baseUrl": ".","paths": {"/*": ["src/*"]}把src的一个文件修改路径为开头 四、安装插件 npm i …

【嵌入式Linux】i.MX6ULL GPIO 中断服务函数注册与编写

文章目录 1 外部中断初始化与中断服务函数1.2 外部中断初始化函数 exti_init1.2.1 GPIO引脚配置1.2.2 中断使能与注册1.2.3 GIC_EnableIRQ()函数的分析 1.3 中断服务函数 gpio1_io20_irqhandler1.3.1 消抖处理1.3.2 中断事件处理1.3.3 清除中断标志 2 BUG处理2.1 问题描述2.2 解…

打破数据分析壁垒:SPSS复习必备(九)

有序定性资料统计推断 1.分类 单向有序行列表 双向有序属性相同行列表 双向有序属性不同行列表 2.单向有序行列表 秩和检验 ① 两组单向有序分类资料 ②多组单向有序定性资料 步骤&#xff1a; 1.建立检验假设和确定检验水准 2.编秩 3.求秩和 4.确定检验统计量 5…

Sora:探索AI视频模型的无限可能

随着人工智能技术的飞速发展&#xff0c;AI在视频处理和生成领域的应用正变得越来越广泛。Sora&#xff0c;作为新一代AI视频模型&#xff0c;展示了前所未有的潜力和创新能力。本文将深入探讨Sora的功能、应用场景以及它所带来的革命性变化。 一、Sora的核心功能 1.1 视频生…

一年Java|16K|同程艺龙面经

面经哥只做互联网社招面试经历分享&#xff0c;关注我&#xff0c;每日推送精选面经&#xff0c;面试前&#xff0c;先找面经哥 背景 公司&#xff1a;同程艺龙成都BU,现场部门老大面 之前的同程艺龙电话一面过了&#xff0c;然后通知到同程艺龙成都办公地点现场进行部门老大…

宠物空气净化器热卖爆款,希喂、小米、352猫用空气净化器真实PK

相信大漫天多数养猫家庭都会有一个烦恼&#xff1a;猫咪们的猫实在是太多了&#xff0c;无法忍受家里面漫天飞舞的浮毛和难闻的猫猫便臭。作为养猫多年的过来人我尝试过很多种方法清理这些猫浮毛和异味&#xff0c;但都以失败告终。 直到后面看到一个宠物博主推荐的宠物空气净…

【干货】【全网最全】【全网最详细】 javaWeb关于Thymeleaf+SpringBoot 的学习教程,看这一篇就够了。

大家好&#xff0c;我是DX3906 第一部分&#xff1a;介绍 Thymeleaf 简介 1.什么是Thymeleaf Thymeleaf是一个用于Java和Java EE平台的服务器端模板引擎&#xff0c;它可以用来在服务端生成HTML、XML、JavaScript、CSS甚至纯文本的输出。Thymeleaf适用于需要快速开发和维护Web…

React+TS前台项目实战(十六)-- 全局常用组件Pagination封装

文章目录 前言Pagination组件1. 功能分析2. 代码详细注释3. 使用方式4. 效果展示 [PC端&手机端] 总结 前言 在上篇文章中&#xff0c;我们封装了表格组件Table&#xff0c;本文则继续封装配套使用的分页器组件。想看Table表格组件的&#xff0c;可自行查看全局常用组件Tab…

【渗透测试】小程序反编译

前言 在渗透测试时&#xff0c;除了常规的Web渗透&#xff0c;小程序也是我们需要重点关注的地方&#xff0c;微信小程序反编译后&#xff0c;可以借助微信小程序开发者工具进行调试&#xff0c;搜索敏感关键字&#xff0c;或许能够发现泄露的AccessKey等敏感信息及数据 工具…

工业液晶屏G065VN01 V2规格书简介

G065VN01 V2 背面实物图 2. 概述 G065VN01 V2 专为 VGA &#xff08;640 x RGB x 480&#xff09; 分辨率和 16.2M&#xff08;RGB 6 位 FRC&#xff09;或 262k 色&#xff08;RGB 6 位&#xff09;的工业显示应用而设计。它由TFT-LCD面板、驱动IC、控制和电源电路板以及包括…

按位与、或、异或操作符

目录 & --- 按位与操作符 按位与操作符运用规则 按位与操作符相关代码 按位与操作符相关代码验证 | --- 按位或操作符 按位或操作符运用规则 按位或操作符相关代码 按位或操作符相关代码验证 ^ --- 按位异或操作符 按位异或操作符运用规则 按位异或操作符相关代…