【项目实战】智能机械臂协同视觉辅助仓储物流管控平台

news2024/11/16 1:45:41

写在前面:
🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝
个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。

🔍 本文系 清流君 原创之作,荣幸在CSDN首发🐒
若您觉得内容有价值,还请评论告知一声,以便更多人受益。
转载请注明出处,尊重原创,从我做起。

👍 点赞、评论、收藏,三连走一波,让我们一起养成好习惯😜
在这里,您将收获的不只是技术干货,还有思维的火花

📚 系列专栏:【项目实战】系列,带您深入浅出,详解项目实战指南。🖊
愿我的分享能为您带来启迪,如有不足,敬请指正,让我们共同学习,交流进步!

🎭 人生如戏,我们并非能选择舞台和剧本,但我们可以选择如何演绎 🌟
感谢您的支持与关注,让我们一起在知识的海洋中砥砺前行~~~

文章目录

  • 一、项目原型
    • 1、项目演示效果
    • 2、Github源码仓库地址
  • 二、项目思路
  • 三、项目参考
  • 四、项目方案
    • 系统框图
      • (1)G431
      • (2)C8T6
      • (3)Andurio
      • (4)OpenMV
      • (5)其他模块
  • 五、硬件结构
    • 1、环绕式结构
      • (1)单层仓库
      • (2)多层仓库
    • 2、传送带结构
  • 六、技术路线
    • 1、仓储管理
    • 2、机械臂
    • 3、摄像头
  • 七、实施计划
    • 1、机械臂调试
    • 2、传送带控制
    • 3、板间通信
    • 4、实物组装

一、项目原型

  此前,博主做过一个基于 STM32 的智能物流仓储管理系统,使用国信长天蓝桥杯嵌入式开发板STM32G431RBT6 完成。

1、项目演示效果

【蓝桥杯嵌入式】基于STM32的智能物流仓储管理系统——项目演示

2、Github源码仓库地址

  基于STM32的智能物流仓储管理系统项目源码

二、项目思路

  本项目考虑以物流仓储管理系统为原型,在仓储管理底层逻辑的基础上,做出实物来,取放货物用机械臂实现,加入温湿度传感器之类的传感器检测仓库环境状态,内容侧重于机械臂抓取,加入中控屏触屏操作,原型项目的工作就相当于做了中控屏的逻辑处理。

  本项目类似于工训赛的垃圾分类赛项,识别垃圾,然后机械臂抓起来放到相应垃圾桶,逻辑相似。而本项目的应用场景为物流仓储,使用机械臂实现,可以取名为“智能机械臂协同视觉辅助仓储物流管控平台”
在这里插入图片描述

  主要工作是机械臂抓取的动作实现,顶层仓储管理的逻辑在项目原型中已有,前期主要做机械臂的动作实现,后期加入摄像头视觉识别定位,辅助机械臂取放货物。

三、项目参考

  本项目的实现逻辑与2024年电赛E题五子棋题赛项的逻辑比较相似,使用机械臂,并且考虑下棋位置,棋子可类比为货物, 9 9 9 个棋子落点位置即为 9 9 9 个仓库。

  可以参考以下项目的实现效果。

2024电赛E题省一(已开源)

24电赛E题无视觉方案,已经可以博弈了(≧ω≦)/

四、项目方案

两种方案:

  • 前期可以不加入视觉,就是使用仓储管理系统在上层上就写死,比如在中控屏上就明确指定什么物品,放入哪个仓库,这样机械臂按写死的程序执行。

  • 后期可以加入视觉识别,这样可以简化在中控屏的操作,直接把货物放入分拣台,视觉自动识别是什么物品,放入哪个仓库,更节省人工。

系统框图

  系统中各个组件之间的交互关系和数据流向如下图所示:
在这里插入图片描述

  本项目涉及多个子系统和模块系统,包括 G431 主控平台、C8T6、Andurio、摄像头检测等。这些组件通过不同的接口进行通信,如串口控制机械臂运动、语音播报模块等。此外,还有其他一些与系统功能相关的元素,例如蜂鸣器是否报警、已使用的仓库温湿度数据以及传送带运动等。

  关于串口信息的通信,使用 C8T6 一个板子简化多个串口的接收发送。

(1)G431

  在入库完成退出时发送信息到 C8T6 (rx:表示第 x x x 个仓库收到货物)

  货物盘点功能的变量需要发送,指示哪个仓库被占用。

(2)C8T6

  收发串口信息。

  接收存放仓库状态信息;发送存入仓库具体位置。

(3)Andurio

  控制机械臂。

(4)OpenMV

  视觉识别目标货物类别,分类存储。

(5)其他模块

  • DHT11温湿度传感器
    监测仓库状态信息

  • 蜂鸣报警器
    异常情况报警

  • 语音模块
    播报货物类别,存放的目标仓库位置。

五、硬件结构

1、环绕式结构

(1)单层仓库

仓库1仓库2仓库3
仓库4机械臂仓库5
仓库6出入货物口仓库7

  九宫格布局,由于机械臂末端执行器为水平夹取结构,无法夹取类似五子棋的物品(靠电磁铁竖直吸取)

(2)多层仓库

  机械臂可通过其中一个舵机调节末端执行器高度,设计两层仓库结构(将单层布局四个角上的仓库移到第二层)

  第一层仓库布局:

在这里插入图片描述

  第二层仓库布局:

在这里插入图片描述
  侧视图:
在这里插入图片描述

  每个仓库分为上下两层,上层存储仓库货物,下层传感器读取仓库的状态信息。仓库 1 1 1 的侧视图如下所示:
在这里插入图片描述

  仓库之间存在挡板,保证仓库之间的安全性,不同仓库之间互不影响。

  每次取放动作结束,机械臂回到初始位置。

  仓储管理系统:可查看当前仓库的占用情况、仓库温湿度信息、异常报警以及入库出库管理。
在这里插入图片描述

2、传送带结构

  不同于之前的箱状布局,加上传送带结构,更符合物流仓库场景,结构布局如下图所示:

在这里插入图片描述
  一层两个仓库,奇数仓库在下,偶数仓库在上:传送带运动,机械臂控制和抓取。

  自定义机械臂动作指令,例如上位机输入串口信息 r1 发送给 G431,机械臂抓取目标货物存入 1 1 1 号仓库。

  根据每个仓库和取放货物点的距离固定传送带移动机械臂的距离。

  加入摄像头视觉识别货物类型,将特定类别的货物存放入对应的仓库中。

  修改 G431 项目原型中的代码,删除入库管理界面中的货物类型,其他内容保留。

  加入语音模块,存入取出时播报货物信息及入库位置,异常情况时报警提示。

  最后美化实物,初期阶段可用纸盒代替仓库。

六、技术路线

1、仓储管理

  【蓝桥杯嵌入式】基于STM32的智能物流仓储管理系统——项目演示

2、机械臂

  使用三轴机械臂,先做缩小版原理样机,后期再扩大。

在这里插入图片描述
  包含底盘转动舵机、高度调节舵机、机械臂向前移动舵机、水平夹取舵机。

  【太极创客】零基础入门学用Arduino 第二部分 meArm机械臂 合辑

3、摄像头

  摄像头使用 OpenMV。

  OpenMV参考手册

  星瞳科技资料文档

  视觉辅助控制机械臂的运动,得到目标货物的位置。

七、实施计划

1、机械臂调试

  拿到机械臂后,把机械臂组装起来,调试机械臂,现在已经有andurio的代码,重点调试角度。

2、传送带控制

  搭建传送带模型,改进现有的传送带控制代码,加入 PID 控制算法

3、板间通信

  实现各个板子之间的通讯,借助led表示是否通讯完成

4、实物组装

  组装各器件。


后记:

🌟 感谢您耐心阅读这篇关于 智能机械臂协同视觉辅助仓储物流管控平台 的技术博客。 📚

🎯 如果您觉得这篇博客对您有所帮助,请不要吝啬您的点赞和评论 📢

🌟您的支持是我继续创作的动力。同时,别忘了收藏本篇博客,以便日后随时查阅。🚀

🚗 让我们一起期待更多的技术分享,共同探索移动机器人的无限可能!💡

🎭感谢您的支持与关注,让我们一起在知识的海洋中砥砺前行 🚀

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

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

相关文章

9月4日星期三今日早报简报微语报早读

9月4日星期三,农历八月初二,早报微语早读。 1、全球第二批100个地质遗产地公布,中国乌海、自贡、桂林等3地入选; 2、我国科学家在超高纯石墨领域取得重大突破; 3、2024上海百强企业榜单发布:入围门槛105…

小土堆pytorch

anaconda安装 pip list 可以看有哪些package包 nvidia-smi查看显卡的状态 安装pytorch 检验pytorch是否安装成功,以及是否pytorch是否可以使用gpu。 (1)查看conda版本 conda --version 或 conda -V (2)更新conda(将conda自身更新到最新版本) …

算法打卡 Day28(回溯算法)-组合总数 + 组合总数 Ⅱ+ 电话号码的字母组合

文章目录 Leetcode 17-电话号码的字母组合题目描述解题思路 Leetcode 39-组合总数题目描述解题思路 Leetcode 216-组合总数 Ⅲ题目描述解题思路 Leetcode 17-电话号码的字母组合 题目描述 https://leetcode.cn/problems/letter-combinations-of-a-phone-number/description/ …

Flink问题记录

尚硅谷Flink1.17问题记录 上手pom依赖循环递归WordCountStreamDemo中readTextFile是deprecated&#xff08;强烈反对的&#xff09; 上手 pom依赖循环递归 pom依赖中&#xff1a; <dependency><groupId>org.apache.flink</groupId><artifactId>flink…

J.U.C Review - 线程池原理/源码解析

文章目录 为什么要使用线程池ThreadPoolExecutor构造方法解析常见的阻塞队列实现及其特性阻塞队列在实际应用中的适用场景分析自定义ThreadFactory和RejectedExecutionHandler实际使用中的示例与代码片段 线程池的状态线程池的任务处理流程线程复用的实现四种常见的线程池newCa…

uniapp 自定义微信小程序 tabBar 导航栏

背景 做了一个校园招聘类小程序&#xff0c;使用 uniapp vue3 uview-plus pinia 构建&#xff0c;这个小程序要实现多角色登录&#xff0c;根据权限动态切换 tab 栏文字、图标。 使用pages.json中配置tabBar无法根据角色动态配置 tabBar&#xff0c;因此自定义tabBar&…

达梦数据库的系统视图v$ifun

达梦数据库的系统视图v$ifun 达梦数据库&#xff08;DM Database&#xff09;中V$IFUN 视图是用于检测函&#xff08;Function&#xff09;信息的。 在 Oracle 数据库中&#xff0c;类似的系统视图被称为动态性能视图&#xff0c;但在达梦数据库中并没有与 Oracle 一一对应的…

QT(1)-.pro 文件 转成.vcxproj 工程

1.qtcreator创建的文件转换成vs2019可以打开的。 1.QT webenginewidgets unknown modules webenginewidgets 要用 MSVC2017 &#xff0c;用minGW 32构建

使用Django身份验证系统

【图书介绍】《Django 5企业级Web应用开发实战&#xff08;视频教学版&#xff09;》_django 5企业级web应用开发实战(视频教学版)-CSDN博客 《Django 5企业级Web应用开发实战&#xff08;视频教学版&#xff09;》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com) Django 5框…

windows中Selenium安装最新版Chrome WebDriver

windows中Selenium安装最新版Chrome WebDriver 需求&#xff1a;需要使用 selenium 对某个网页进行截图 文章目录 windows中Selenium安装最新版Chrome WebDriver一、查看Chrome版本二、找到对应的chromedriver版本三 安装3.1 确定google安装路径3.2 将下载的google driver 解压…

解决bug: RuntimeError: Address already in use,一个linux下pytorch多卡训练tcp端口占用的bug

时间&#xff1a;2024.9.3 1&#xff09;bug&#xff1a; self._store TCPStore( # type: ignore[call-arg] RuntimeError: Address already in use2&#xff09;原因分析 linux下pytorch多卡训练深度学习模型&#xff0c;训练中途暂停训练&#xff0c;但仍有进程占用某个端…

字典树Trie(专项复习)

一.P8306 【模板】字典树 题目思路:字典树的板子题,熟练写出insert函数(建树),以及query函数(查询)即可. 代码实现: #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; typedef long long ll; #define N 3000005 #define P 131 ll f1[N]; s…

华为云征文|Flexus云服务X实例安装ODBC驱动,在ODBC中建立MySQL数据库连接,通过QT连接云数据库

引出 4核12G-100G-3M规格的Flexus X实例使用测评第2弹&#xff1a;Flexus云服务X实例安装ODBC驱动&#xff0c;在ODBC中建立MySQL数据库连接&#xff0c;通过QT连接云数据库 什么是Flexus云服务器X实例 官方解释&#xff1a; Flexus云服务器X实例是新一代面向中小企业和开发…

第140天:内网安全-横向移动局域网ARP欺骗DNS劫持钓鱼中间人单双向

目录 案例一&#xff1a;局域网&工作组-ARP原理-断网限制-单向 案例二&#xff1a;局域网&工作组-ARP欺骗-劫持数据-双向 案例三&#xff1a;局域网&工作组-DNS 劫持-钓鱼渗透-双向 案例一&#xff1a;局域网&工作组-ARP原理-断网限制-单向 原理&#xff1…

pytorch利用简单CNN实现葡萄病虫害图片识别

1 前言 之前我开发了一个葡萄病虫害的可视化系统&#xff0c;最近就想给这个系统增加2个功能&#xff0c;一个是对接一个AI助手&#xff0c;可以进行葡萄病虫害的咨询&#xff0c;直接对接千问大模型&#xff0c;这个在之前的博文里已经介绍过对接方法了&#xff0c;第二个是做…

ChatGPT与R语言融合技术在生态环境数据统计分析、绘图、模型中的实践与进阶应用

自2022年GPT&#xff08;Generative Pre-trained Transformer&#xff09;大语言模型的发布以来&#xff0c;它以其卓越的自然语言处理能力和广泛的应用潜力&#xff0c;在学术界和工业界掀起了一场革命。在短短一年多的时间里&#xff0c;GPT已经在多个领域展现出其独特的价值…

【JavaWeb】JDBCDruidTomcat入门使用

本章使用技术版本&#xff1a; Tomcatv10.1.25 关于javaweb相关的其他技术&#xff0c;比如tomcat和maven&#xff0c;在我的主页记录了笔记&#xff0c;ajax我用的是本地笔记以后再考虑上传&#xff0c;前端三板斧我用的菜鸟教程文档 JDBC 初识 JDBC概念 JDBC 就是使用Jav…

MatLab基础学习01

MatLab基础学习01 1.基础入门2.MatLab的数据类型2.1数字2.2字符串2.3矩阵2.4.元胞数组2.5结构体 3.MatLab的矩阵的操作3.1矩阵定义与构造3.2矩阵的下标取值 4.MatLab的逻辑流程4. For循环结构4.2 While循环&#xff0c;当条件成立的时候进行循环4.3 IF end 1.基础入门 matlba必…

1.3 SQL注入之MYSQL系统库

一.系统库释义 提供了访问数据库元数据的方式 元数据是关于数据库的数据&#xff0c;如数据库名和表名&#xff0c;列的数据类型或访问权限。 1.information_schema 库&#xff1a;是信息数据库&#xff0c;其中保存着关于MySQL服务器所维护的所有其他数据库的信息&#xff1…

公园智能厕所引导大屏,清楚显示厕位有无人状态

在科技飞速发展的今天&#xff0c;公园的设施也在不断与时俱进。其中&#xff0c;公园智能厕所引导大屏的出现&#xff0c;为游客带来了全新的如厕体验。 走进公园的智能厕所区域&#xff0c;首先映入眼帘的便是那醒目的引导大屏。屏幕上清晰地显示着各个厕位的有无人状态&…