查看: 723|回复: 0

AI分拣系统

[复制链接]

该用户从未签到

发表于 2019-11-13 16:26 | 显示全部楼层 |阅读模式
本帖最后由 是少翔啊 于 2019-11-13 16:41 编辑

人工智能分拣系统

应用简介

在日常生活中,人们经常需要对物体进行分类,”材料分类”,”垃圾分类”,各式各样的分类需求在日益剧增。相比传统的人工分拣,AI智能识别分拣能够减轻人们工作负担。但对于许多的小白用户来说,AI一词似乎显得十分“遥远陌生”,因此,我们决定用M5Stack硬件体系去构建一个智能分拣的应用模型,让更多人能够学习使用AI摄像头以及制作自己的应用。


b6490a1a3631c6267cf7e8b1bcd44c0 - 副本.jpg

物料清单

M5GO x1
BUS Module x1
M5StickV
RGB LED 50cm x2
RS485 Unit x1
6060模组 400mm x1
SG90舵机 x1
1515铝型材
LEGO积木
塑料拖链 x1
GROVE线  1m x1
16G SD卡 x1
12-24V电源适配器 x1


功能原理/具体实现

AI摄像头
使用标准的1515铝型材固定在6060模组上搭建结构顶部,采用了具备AI识别功能的M5StickV用作物体识别,
使用SD卡,参照官网V-Training服务教程(AI识别模型训练服务),构建物体识别模型,达到识别物体效果。

V-Training使用教程:
https://docs.m5stack.com/#/en/related_documents/v-training

完成模型训练后,修改启动程序文件“boot.py”,将M5StickV的拓展接口定义为串口使用。并将识别信息通过串口发送至Basic。

[mw_shl_code=arduino,true]fm.register(board_info.CONNEXT_A,fm.fpioa.UART1_RX)
fm.register(board_info.CONNEXT_B,fm.fpioa.UART1_TX)

uart_A = UART(UART.UART1, 115200)[/mw_shl_code]

注:在进行素材拍摄时请尽可能接近实际使用环境的光线、背景条件。你可以根据实际模型培训结果的识别率对你的程序进行修改,如容易发生误识别的物体,能够设置较高的识别率判定条件,或设置一定的识别有效次数。以减少误识别情况的发生。

[mw_shl_code=arduino,true]uart_A.write(labels[max_index])
uart_A.write('\r')[/mw_shl_code]

BASIC控制器
使用亚力克面板固定结构中部,在其上方放置了搭载ESP32的控制器BASIC,用于控制与内容显示。通过与M5StickV进行串口通信进行识别数据传输,处理,控制执行器做出相应动作。
主机上堆叠的BUS模块用于拓展总线外接RGB灯条。通过FastLED库,我们能够很简易的编程一些酷炫的灯光效果。

底部采用的M5GO底座通过积木结构稳定的安装在了亚克力面板上,底座上3个兼容Grove的拓展接口,用于两组串口通信与发送PWM信号控制分拣舵机。
注:你可以通过程序将串口映射为不同的引脚,如果你使用的主机为Fire,你需要注意避免使用GPIO16/17作为串口。   
  
步进电机模组

结构底部为定制化的6060步进电机运动模组,通过与BASIC进行串口通信,接收控制指令以及返回状态等信息。6060指令集下图所示。


电机运动部分搭配了由积木件组成的分拣托盘,运行过程中,舵机通过更改旋转角度,实现左右两侧的物体分拣。

当物体被成功识别后,作为执行部分运输物体前往相应的分拣位,进行分拣。


使用说明

1.   将模组、控制器、摄像头接通电源,等待设备启动,初始化完成(当灯条点亮且不断变换特效时,表示初始化完成)。
2.   将识别物体,放入识别区(积木托盘)上,即可进行识别、分拣。


演示视频:
https://m5stack.oss-cn-shenzhen.aliyuncs.com/video/Blog/twitter_video_20191115/sorting_system.mp4

注意事项
1.   识别系统十分依赖于颜色与形状,因此请尽可能使用形状区别较大的识别物。
2.   步进电机模组速度较为缓慢,程序上给定的速度较靠近临界值,若运行中途发生“卡顿”,请关闭电源,使其停止,并重新启动。

案例程序 Github Link:
https://github.com/Gitshaoxiang/Project_example/tree/master/sorting_system




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

5分钟带你快速了解新一代开发板:M5STACK
5分钟带你快速了解新一代
一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
创客火首发无人机编队套装,开启不一样的人工智能教育
创客火首发无人机编队套装
2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
[Arduino物联网开发实战2]数据反馈
[Arduino物联网开发实战2]
[md]上一篇:(https://www.arduino.cn/thread-83177-1-1.html) 除了控制设备外,blin
小爱同学开电脑 esp8266 12f
小爱同学开电脑 esp8266 1
1.mini D1 wifi ESP-12F N ESP8266开发板 2.1路 5V继电器模块 高电平触发 3.AMS1117-3
服务器平台又挂了么,显示服务器未响应了
服务器平台又挂了么,显示
数据读不回来了
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表