- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
基于Arduino的智能小车识别及夹取棋子设计
作者:朱伟枝杨亚萍梁华成
来源:《数字技术与应用》2020年第08期
????????摘要:以智能小车为载体、机械手为抓取机构,采用Arduino为核心控制器,利用OpenMV的形状和颜色识别功能检测棋子位置,提供了一种能够完成识别和夹取棋子的任务的可实践的合理化设计方案,结构稳定,程序设计简单。
????????关键词:智能小车;Arduino;OpenMV;机械手;识别
????????中图分类号:TP242文献标识码:A文章编号:1007-9416(2020)08-0132-03
????????0引言
????????嵌入式系统与微处理器近年来的发展突飞猛进,由此我们的日常生活中逐渐开始大量应用无线传输技术与图像处理技术[1]。智能搬运小车的功能核心是代替人来运输货物,实现智能搬运涉及到了两个核心功能,一是识别,二是夹取。本文的主要设计思路是采用Arduino[2]作为智能小车的核心控制器,利用OpenMV[3]摄像头模块来实现图像信息采集工作,并将收集到的图像信息输送到控制器上,控制器根据收到的信息做出相应的指令动作控制智能小车和机械手,从而实现智能小车自动识别物体并将其夹起的功能。
????????1系统总体设计
????????本文采用绿色的矩形棋子来模拟货物,绿色和矩形是作为OpenMV的颜色和形状识别特征,棋子是作为实物来测试机械手的工作。本文设计的自动搬运系统主要由传感器、控制器、执行器等组成,如图1所示。
????????控制器Arduino单片机作为整个系统的控制核心,负责收集各个I/O口输入的信息并进行处理,实现各个模块统一协调工作。传感器部分包括OpenMV和超声波测距模块。OpenMV是一个功能强大的机器视觉模块,利用广角镜头使得识别范围更加广,采用具有识别颜色和形状特征的组合算法,将收集到的信息實时通过串口上传至Arduino控制器上,Arduino就会根据OpenMV上传的数据作出判断,从而控制智能小车和机械手的运作。超声波测距模块主要负责确保车头与棋子的距离,将收集到的数据经处理后,通过串口将处理好的数据发送至Arduino上,保证机械手能准确无误夹取棋子。执行器部分为机械手和电机。机械手由两个舵机组成,一个舵机负责机械手臂的上下运动,另一个则负责机械手的展开和闭合,控制两个舵机的工作就能控制整个机械手的工作;Arduino采用PID控制算法[4],控制电机转动方向和速度,可以使电机产生正转、反转,从而根据两轮差速原理使小车实现前进、后退及转弯等动作。
????????2系统软件设计
????????2.1总体控制流程
????????如图2所示,智能小车通电后,所有硬件都进行初始化,识别模块开始采集照片,需要准确识别到目标棋子的所在位置,并将处理好的目标棋子的信息传送给Arduino控制器,Arduino控制器接收到信号后发出指令控制智能小车的电机模块开始工作,并向棋子的位置靠近。为了保证机械手能准确地夹起棋子,就需要控制好智能小车与棋子之间的距离,当智能小车与棋子之间的距离在设定的阈值范围之内时,电机模块停止工作,Arduino控制器控制夹取模块开始工作,通过机械手把棋子夹起来。
????????2.2行驶模块程序设计
????????小车的行驶模块包含几个子函数模块:前进模块run()函数、停止模块stop()函数、转弯模块turn()函数和识别模块search()函数。当棋子在OpenMV识别区域中心时,控制器就执行前进run()函数控制智能小车前往棋子所在位置;当智能小车与棋子之间的距离在设定阈值范围时,控制器就执行停止stop()函数;当棋子在OpenMV识别区域中心两边时,控制器就执行转弯turn()函数控制智能小车前往棋子所在位置;当OpenMV识别不到目标棋子时,控制器就执行search()函数,控制智能小车移动到其他位置直到识别到棋子为止。控制电机转动方向和速度采用PID算法运行,设定智能小车正常直线运动时的PWM阈值,当智能小车转弯时,分别对智能小车左右两轮电机的参数进行PID运算,保证左右车轮实现差速转弯。
????????2.3识别模块程序设计
????????如图3所示,识别模块采用具有识别颜色和形状特征的组合算法,首先调用find_rects()函数对拍摄到的物体进行形状识别,若识别到的物体是矩形,再调用rect.corners()函数,返回一个由矩形对象的四个角组成的四个元组的列表,使OpenMV只在这个区域内进行像素统计,最后调用get_statistics()函数进行像素统计,若LAB的三个通道的众数分别在绿色的阈值范围内,OpenMV就判定识别到了绿色的棋子。
????????2.4
您可能关注的文档
- 高等数学试题(下).doc
- 钢结构防火涂料报验表.doc
- 食品生产企业库房管理制度.docx
- C语言分数化成小数.docx
- 2022年八年级数学下册周周卷二特殊的平行四边形习题课件新版新人教版.pptx
- 产品过程流程图.doc
- 煤矿智能化开采现状及展望.docx
- 劳资个人工作总结(通用11篇).docx
- 食品营养学题库及答案总结2.docx
- 7的乘法口诀ppt课件.docx
- 广播电视播音员主持人全真模拟模拟题附答案详解(预热题).docx
- 危险化学品安全作业题库检测试题打印附参考答案详解【夺分金卷】.docx
- 教师资格考前冲刺练习试题含答案详解【夺分金卷】.docx
- 广播电视播音员主持人全真模拟模拟题(典型题)附答案详解.docx
- 教师资格考试综合练习附完整答案详解【精选题】.docx
- 人教版四年级下册数学期末测试卷1套.docx
- 2025广播电视播音员主持人自我提分评估完整版附答案详解.docx
- 2025年广播电视播音员主持人考试综合练习附答案详解【巩固】.docx
- 2025年教师资格能力提升B卷题库(夺冠)附答案详解.docx
- 2025年教师资格试卷及参考答案详解【满分必刷】.docx
文档评论(0)