基于OpenMV的智能兵乓球拾取小车.docx





《基于OpenMV的智能兵乓球拾取小车.docx》由会员分享,可在线阅读,更多相关《基于OpenMV的智能兵乓球拾取小车.docx(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘要 当我们跟随着现代化科学技术的脚步缓缓向前走去,社会也以一种现代化、高科技、智能时代的姿态向我们走路。无论是日常刷着微信朋友圈的智能手机、办公室中协助完成工作的台式电脑、物联网控制下的智能家居。这些无孔不入地高科技产品逐渐成为我们日常生活和工作中的一部分。说到智能化,就不得不提及人工智能。而在人工智能研究领域极里面,机器视觉又占据着极其重要的一部分。一些基于机器视觉系统的智能化机器设备除了很大程度带动了科技社会的发展和进步,也使得人们的工作和生活更加便利。本文便是设计了一款以Arduino开发板作为主控制器,便利人们在乒乓球比赛和训练中不需要进行人工手动捡球的捡球小车。该智能兵乓球拾取小车
2、是基于OpenMV机器视觉模块对目标物体进行视觉识别,摄像头获取到的图像通过相关算法检测出目标兵乓球距离以及位置信息,通过TTL串口通讯将数据传递给小车Arduino开发板控制机器运动,机器操作部分则是控制舵机转动将车身前方由亚克力板和弹力绳组成的捕获笼通过定点下落来拾取检测到的地面上固定位置的兵乓球。用户可以通过ESP8266无线终端模式在移动端发送相关指令控制车身实现捡球小车在一定区域内进行前进、后退、左右转向、遇到障碍物进行躲避、拾取地面上散落的兵乓球功能。关键词:OpenMV;Arduino;乒乓球;摄像头;机器视觉AbstractWhen we follow the pace of
3、modern science and technology, the society is walking towards us in a modern, high-tech and intelligent era. Whether its a smart phone with WeChat circle of friends, a desktop computer in the office to help complete the work, or a smart home under the control of the Internet of things. These high-te
4、ch products have gradually become a part of our daily life and work. When it comes to intelligence, we have to mention artificial intelligence. In the field of artificial intelligence, machine vision plays an important role.Some intelligent machine equipment based on machine vision system not only g
5、reatly promote the development and progress of science and technology society, but also make peoples work and life more convenient. In this paper, we design a kind of ball picking car which uses Arduino development board as the main controller, so that people dont need to pick up the ball manually i
6、n table tennis competition and training. The intelligent table tennis pick-up car is based on the OpenMV machine vision module for visual recognition of the target object. The image obtained by the camera detects the distance and position information of the target table tennis through the relevant a
7、lgorithm. The data is transmitted to the car Arduino development board through TTL serial port communication to control the machine movement. The machine operation part is to control the rotation of the steering gear and the acrylic plate in front of the body the capture cage composed of elastic rop
8、e and elastic rope picks up the detected ping-pong ball at a fixed position on the ground by falling at a fixed point. Through ESP8266 wireless terminal mode, the user can send relevant instructions to control the car body to realize the functions of moving forward, backward, turning left and right,
9、 avoiding obstacles and picking up the scattered ping-pong balls on the ground in a certain area.Key words:OpenMV; Arduino; Table tennis; The camera; Machine vision目录第一章 绪论11.1 课题的背景和意义11.2 智能捡球机在国外发展状况1第二章 整体方案设计32.1 系统整体方案32.2 系统整体框架图3第三章 硬件设计分析53.1 硬件总体设计53.2 WeMos D1 开发板介绍63.2.1 低功耗主控芯片介绍63.3 Op
10、enMv机器视觉模块73.4 HC-SR04超声波模块工作原理93.5 SG90舵机模块的工作原理103.6 L9110S直流电机驱动模块11第四章 软件设计分析134.1 主程序设计134.2 子程序设计144.2.1 小车行进控制子程序144.2.2 拾取兵乓球子程序164.3 文件应用174.3.1 ESP8266闪存文件应用174.4 兵乓球识别原理184.4.1 兵乓球距离识别原理184.4.2 兵乓球颜色识别原理204.4.3 兵乓球形状识别原理21第五章 实物功能与测试结果23结论25参 考 文 献26致谢27 广东东软学院本科生毕业设计(论文)第一章 绪论1.1 课题的背景和意
11、义乒乓球虽然只是比赛当中的一个小球,但却是我们中国的国球。除了专业的兵乓球手,业余爱好者也是常常会在空闲地时间与二三个志同道合的球友去兵乓球馆内进行对练。只是每次长时间的训练结束后,地板上都能看到四处散落的兵乓球,给场地工作人员带来困扰的局面。因此,为了便利人们在日常生活种的需求,同时减少一部分不必要的人力。专门针对兵乓球进行拾取的捡球机器便由此应运而生。目前市面上出售的捡球机器参差不齐,有的捡球机器进行兵乓球拾取的效率可以说是相当高效,但是其机器本身的造价也可以说是十分之昂贵,性价比并不高。市面上也有相对便宜且无需弯腰便能进行拾取的轻便捡球网框。后者价格虽然相比之前者要来得实惠,然而其仍然需
12、一定的人力来进行拾取,这就相对于前者而言来得没那么便利了。伴随着机器视觉技术跨过一个个门槛逐步“破冰”,机器视觉领域的逐步发展使得捡球器制造行业迈入新的发展阶段。简单说来,机器视觉就像是我们自己的眼睛,用摄像头代替我们自己的眼睛来观察这个世界,同时又利用人工智能相关技术对物体进行测量和判断。结合机器视觉技术,本文设计了基于OpenMV机器视觉模块、Arduino控制模块以及ESP8266通信模块的智能拾取兵乓球小车。这样就方便了人们在打乒乓球时不用多次进行弯腰拾取,该智能拾取兵乓球小车通过抓取系统中机器视觉模块的标定、目标小球的识别匹配、机器小车对目标小车的定位抓取。不仅能够简单的检测和识别乒
13、乓球,并能够对多个小球进行拾取。如此提高了拾取的效率,减轻了工作人员身上的包袱。1.2 智能捡球机在国外发展状况如果把某种技术的发展史比作人的年龄,那么机器视觉就像是一位迈入而立之年正在逐渐走向成熟的中年男子。其中智能捡球机可以算是智能制造的一个显著例子,它通过机器代替人工节省了不必要劳动力地浪费,让拾取小球的工作效率更高。纵观整个发展,机器视觉在其中起到不可替代的作用。在全球机器视觉市场中,美国和日本不仅占领着大半的份额,并且处于一个相当高的一个水平,像是日本的基恩士、美国的康耐视等都是有名的机器视觉公司。美国在机器视觉方面已经从最初的实验室阶段步入了工业实际生产的应用阶段。并且,美国在技术
14、研发、产品生产和实际应用方面,处于一种较为均衡的状态。像最近的一款自动捡球机器人 Teninibot就是来自美国波士顿的团队设计.该机器自带的传感器能帮助其检测散落在周围的网球,通过计算机视觉和人工智能技术自动定位,机器臂就会抓取前方的小球放进后方的收纳篮里。如果用户相应让Teninibot在规定的区域内捡球,可以在使用手机伴侣 APP 进行连接上Teninibot之后对其进行相应的设置。第二章 整体方案设计2.1 系统整体方案项目以智能小车为载体,OpenMV机器视觉模块进行实时图像采集以及兵乓球定位,通过ESP8266实现网页配置。因此基于OpenMV的智能兵乓球拾取小车一共分为三部分:第
15、一部分是OpenMV视觉识别的模块数据采集部分,第二部分是Arduino控制的小车行进拾取部分,第三部分是用户使用移动终端通过ESP8266对小车进行网页控制。如图2.1为各部分功能模块:OpenMV视觉模块进行数据采集WeMos D1 控制小车车身行进拾取用户通过ESP8266在移动终端进行控制TTL串口通讯串口通讯图2.1 各部分功能模块OpenMV是以STM32H743II为内核的机器视觉模块,通过对OV5640传感器的控制获取视频信号,然后视频信号经OpenMV分析和处理,判断出乒乓球的位置,进而将视频信号中抽象出的信息通过TTL串口实现通信传递给机械运动控制终端。同时,通过WiFi接
16、收到的信号来控制数据的采集时间。WeMos D1控制小车机器部分主要完成功能是:通过TTL串口通信接收OpenMV发来的数据,判读数据后控制车身前进到对应距离,转动舵机落下捕获笼拾取乒乓球。该模块主要由SG90舵机控制捕获笼升降、电机控制移动和避障三部分组成,其中避障主要由超声波组成,这样避免小车在寻找乒乓球过程中撞上前方障碍物。ESP8266网页控制部分就是使用它的无线终端工作模式,作为一个无线终端连接空间内的WiFi路由器,路由器给连接的ESP8266网络设备分配独立的IP地址。首先的就是将data文件夹相关网页上传到板载Flash,然后需要连接到一个现有的网络,通过查看手机连接热点信息可
17、以看到IP地址,在浏览器输入IP地址可以打开网页在移动终端控制小车。2.2 系统整体框架图供电外部电源CMOS摄像头供电供电HC-SR04超声波模块数字信号数据传输主控板 WeMos D1 PWM信号输出L9110S电机驱动数据传输OpenMv机器视觉模块距离感测PWM信号输出SG90舵机模块图2.2 系统整体框图外部电源供电部分是通过18650锂电池进行供电,由于供电系统需要提供5V电压。因此,通过将两节18650电池串联起来以便提供合适的电压电源给主控板以及各子模块。CMOS摄像头将被拍摄的物体转换成数字化信号传送给OpenMV机器视觉模块,内置程序对这些信号进行相关算法的运算抽取兵乓球的
18、特征,当程序通过面积阈值、颜色阈值匹配到眼前的物体是我们需要的进行拾取的兵乓球时就会通过参照物比例测距来定位兵乓球的位置以获取当前距离数值。同时机器视觉模块通过PWM端口输出信号到SG90舵机模块,让舵机驱动模块等待执行相应的动作。WeMos D1主控板与OpenMV建立软串口通讯后获取兵乓球位置信息数据,同样通过条件判断控制小车执行相应的动作,其点击驱动控制由PWM端口进行信号输出到L9110S控制电机驱动模块。在小车执行相应动作的过程中若是遇到障碍物,超声波模块会接收到之前发送出去遇到障碍物后传回的超声波,主控板识别非接触式距离感测到的数据后会带动舵机转动超声波模块,识别左右方向是否具有空
19、旷区域。若有,则车身后退一定距离进行转向以躲避前方障碍物。第三章 硬件设计分析3.1 硬件总体设计基于OpenMV的智能兵乓球拾取小车的整体构成主要硬件是WeMOS D1主控板模块、超声波测距传感器、舵机驱动、L9110S控制驱动电路以及机器视觉模块。OpenMV的P7、P8、P9口是PWM口,舵机连接机器视觉模块上的PWM端口以及GND端口,由外部电源进行供电。WeMos D1主控板与机器视觉模块之间通过TTL串口通讯传输数据。通过相关代码识别数据,设置SG90舵机模块以及L9110S直流电机驱动模块相应输出端口为需要的高低电平,以控制小车执行相应的动作和主动避障。其硬件功能框如图3.1所示
20、:5V稳压基准电路电源切换电路ESP8266物联网芯片舵机驱动图像传感器接头电路机器视觉模块超声波测距传感器舵机驱动超声波发射电路超声波接收电路主控板L9110控制驱动电路图3.1 硬件电路功能框图主控板上有电源切换电路。如图3.1.1所示:图3.1.1 电源切换电路1运放作为比较器存在,运放输入一端接3.3V,另一端接在两个串联分压电阻中间。两个电阻上端接外部电源,运放的另一个输入的电压为外部电源的一半。在运放的输出端接的是PMOS的G极也就是控制端。PMOS管相当于一个开关。开门条件为VGSVTP,VGS是指门极-源极电压VTP是一个门限电压,对于PMOS来说是一个负值。若源极电压固定,那
21、么G极电压上升,则PMOS管就会被关闭。VIN作为外部电源,在VIN输入小于6.6V的时候使用USBVCC作为5V电源,当VIN大于6.6V的时候切断USBVCC,通过开发板上黑色圆形的电源接口连接外部电源,经过稳压后的5V对芯片进行供电1。3.2 WeMos D1 开发板介绍3.2.1 低功耗主控芯片介绍WeMos D1 是基于ESP8266物联网芯片的Arduino类开发板。它与其他ESP8266板是相同的Wi-Fi板,具有D0D15个口,有IIC、SPI、串口、AD,和板子上带了个CH340的USB转TTL的芯片。这意味着可以使用Arduino IDE对其进行编程。其开发板实物图如3.2
22、.1所示:图3.2.1 WeMos D1主控板实物图主控板上的物联网芯片ESP8266利用WiFi联网时有三种工作模式。第一种模式是接入点模式(ACCESS POINT):ESP8266建立起一个WIFI网络向外界发送WIFI信号,这个WIFI有名称,也可以设立密码。而其他移动设备也就是我们平常使用的手机或者笔记本电脑可以通过ESP8266发射出来的WIFI信号与其进行网络连接,从而实现设备之间的通讯。第二种模式为无线终端模式(WIRELESS SATION):ESP8266可以作为一个无线终端连接空间内的WIFI路由器,路由器给连接的ESP8266网络设备分配独立的IP地址。第三种模式则是混
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 OpenMV 智能 兵乓球 拾取 小车

限制150内