南京工程学院工业中心本科毕业设计说明书题目:基于视觉传感器的自主扫雷机器人设计与实现专业:班级:G自动化系统集成自集成151学号:234150736学生姓名:杨扬指导教师:陈国军(实验师)起迄日期:2019225 〜2019.6.7设计地点:工程训练中心6号楼毕业设计说明书中文摘要摘要:在当今的世界安全形势下,扫雷小车的出现可以减少各国人员在扫雷过程 中的人员伤亡,扫雷小车实用性能强更适合在军事化领域或者是民用领域上应 用让它具有光明的发展前景针对这一情况,本毕业设计就对自主扫雷小车 进行研究本设计是基于STM32处理器的自主扫雷小车控制系统,主要包含视觉识别、 测距、避障、驱动还有资源配置主控芯片采用 STM32F10系列核心板其中 避障部分主要用 HC-SRO 4超声波模块结合外部中断 1视觉识别主要采用openmv4摄像头模组以及相关算法来实现对强烈对比的“地雷”进行识别小 车驱动使用PWM技术对两组车轮转速进行控制并通过速度差实现转向显然,自主扫雷机器人的运用会对未来安全防范事业做出重要贡献本课 题将有助于了解扫雷机器人和智能小车的研究和应用关键词:STM32超声波避障;电机控制; PWMI毕业设计说明书英文摘要Title The Desig n of mine cleara nee robotAbstractIn today's world security situation, many countries have begun to develop various dangerous operational robots such as anti-terrorism explosion-proof robots and rescue robots for disaster protect ion and rescue based on n ati onal security. Demi ning is also an importa nt part of the security strategy. So t he mine clearanee robot appeared. Due to the fast speed and high precision of robotic min esweep in g, it is most importa nt to avoid casualties and give it a bright future.This design is based on the STM32 processor's autonomous mine clearanee robot control system, which mainly includes visual recognition, ranging, obstacle avoida nee, drive and resource con figurati on. The main con trol chip uses the STM32F103 series core board. Among them, the obstacle avoida nee part mainly uses the HC-SR04 ultrasonic module combined with external interruption. The visual recognition part mainly uses the 0penmv4 camera module to realize the identification of "mine" by related algorithms. Thetrolley drive uses PWM techique to eontrol the wheel speed and achieve steeri ng through the speed differe nee.Obviously, the use of autonomous mine clearanee robot will make an important contribution to the future of safety. This topic will help to understand the research and applicati on of mine cleara nee robots and in tellige nt cars.Keywords :STM32;Ultras onic obstacle avoida nce;Motor eon trol;PWM-ii --III -在当今的世界安全形势下,世界上很多国家都在研制各种特种设备机器人,比如说水下机器人研制,钻地机器人研制,飞天机器人研制等等。
当各个国家研制这些特种机器人的目的就是为了去减少国家内部的操作人员的伤亡 而在这些机器人中各国重点研制的是扫雷机器人联合国儿童基金会在 1996年发出一篇报告称,在球60多个国家中,大约埋藏有多达 700种地雷,累计数量高达1.1 亿颗,这是一个相当可怕的数字,而且这还是二十年前的统计结果 如此多的地 雷不论对于国家、人民群众还是自然环境都有着难以预估的重大危害 传统的人工扫雷虽然识别率高,但不得不忽视其对扫雷人员和士兵造成人身安全伤害的风 险因此扫雷排雷成为世界各国迫在眉睫的一项挑战和任务由于使用机器人扫雷速度快、精度高,还有可以避免人员伤亡这一巨大优势, 让它不得不受到各国和各方人士的高度关注鉴于这一情况,对智能移动扫雷设 备的研究变得越发重要所以本课题围绕此问题展开,从机器人扫雷的背景和国 内外对其研究的现状入手,再对其实现方案和相关软硬件的设计进行讨论和总 结探寻一种基于视觉传感器的扫雷机器人的设想, 并制作出一个简易能够实现基本功能的移动设备,对其中一些基础技术和原理进行学习理解,初步掌握单片 机、传感器的使用,-IV -第一章绪论1.1引言当今,很多国家都早已明确表示禁止地雷的使用。
但是仍有数亿枚地雷被埋 在世界各地,如此数量的地雷使很多生活在周边的居民受到很大的安全影患危 险,很多周边居民一不小心就会给潜藏的地雷给炸死炸伤, 所以目前研制扫雷机器人已经是大势所趋了,只有将完善的扫雷机器人应用进多雷地区,才可以减少 当地居民的伤亡根据不完全的统计,我们周边国家的一些战场弥留地区存在着上亿颗地雷, 这些地雷无时无刻不影响着周围居民的生命安全 没有人能提供准确的数据,让人意想不到的是一些地雷甚至是第二次世界大战时期留下的, 而关于这些地雷存在的官方证明早已无从考究众多国家里,潜藏地雷最多的国家无非是正在发生 战乱的中东,和阿富汗地区,其次就是亚洲的老挝,柬埔寨,和越南地区而有 些地区国家,因为恐怖分子和恐怖组织的活动,至今仍在投入使用这种武器2015 年,全球约有6000多人因为地雷受伤和死亡其中平民占有很大比例,而儿童 所占比例也高达30%现有大多数的探雷和排雷技术以人工手动进行,其危险系 数极高当前在各个地区进行排雷作业的除了人工之外, 就是如今老式传统的大型碾压式地雷扫除机,这些扫雷机主要是靠自身的重量将潜藏在地下的地雷引 爆,但是由于行动缓慢,经常会使排雷爆破车被地雷震坏, 在实际的排雷应用中 损坏率很大。
为了解决这一现状,也为了代替传统人工扫雷的方式本设计就机 器人扫雷的问题展开研究根据要求,小车为实现自如行走、跟踪、避障和自动定位等功能,属移动机 器人这类机器人是一种用有较高自主行的智能机器人,作为机器人研究的领先 部分,智能机器人可以使用自身携带的传感器接受来自环境的讯息并作出反馈, 亦可检测自身状态并作出调整从而实现在复杂环境下的代替人工执行一些高难 度作业,并能够不在人工干涉下自觉的避开障碍,达到自主导航和移动的目的, 是一套高效高精度的机器系统这一类机器人与传统机器人最大的不同点就在于 它对移动定位的要求更高所以不论是扫雷还是执行其他作业,所以不论是扫雷 还是执行其他作业,都可以安全、自主的完成,在特殊情况下,可以采用人工远程控制,提高系统设计的可行性以及便捷性,在更大程度上发挥“人机结合”的 功能1.2 选题背景与意义对于地雷炸弹的检测和排除,目前世界范围内还是普遍使用士兵相关专业人 士进行手动排查,其潜在的危害和风险不言而喻 除此之外,近期使用的非人工 扫雷方案如排雷车,滚筒车这一类的,因为技术不够先进,大多用原始的类似耕 地机一样的原理,先增大接触面和压力,通过翻滚不停地捶打地表来实现对雷区 的地雷诱导式引爆,不仅精度低下,而且因为需要增大接触面积和压力, 使得体 积质量成倍增长,进而带来的造价偏高,效率低下。
其次,因为其原理导致的体 型限制,让此类机械一旦遇到非正常的地表环境, 比如高低不平的山坡、崎岖狭隘的小路等,就会出现很大的风险性和局限性,甚至导致车体倾斜翻车等情况, 对人员造成巨大伤害而排雷机器人就可以取代受过专业训练的排雷兵或特种犬, 消除地雷和其他烈性爆炸物,大大降低了训练排雷人员的成本,只需要学会机器的操作和使用, 训练时间也会先出缩短作为一种智能防爆安全装备,同时也是最重要的减少人 员的伤亡,都是它无可取代的优势随着机器人技术和当下最热门的AI技术的发 展,用扫雷机器人代替人工实现高效、大范围的扫雷工作将是今后相关研究发展 的必然趋势在广泛使用机器人探雷排雷的情况下, 工程师可以摆脱风险高、效 率低、作业时间漫长的矿井探测和排雷工作 从另一个层面上讲,机器人可以显 著地降低人员伤亡率,是实实在在地提升了排雷效率,而不是单纯的为人排雷而且这种智能型的扫雷装置,往往技术含量高,所以体较之于传统排雷车大 大缩小,重量也相应的变轻很多,这就十分有利于在复杂环境下的运作和使用 通过这种扫雷设备,可以协助专用的排雷车或辅助专业的团队侦察地雷扫除地 雷,成本低廉的同时兼顾了很高的安全性, 非常适合面积广的国际人道主义扫雷 任务,将会为今后安全维和任务的扮演重要角色。
它的出现也会对机器人在非正 常环境和危险条件下作业等相关领域的研究工作作出贡献, 成为机器人领域的重要分支,具有十分宝贵的科研价值和现实意义1.3 研究现状-VI -基于确保从事扫雷排雷的相关人员士兵的安全,机器人地雷排除装置正在紧 张的开发中因为使用机器人排除地雷可以避免人员的伤亡以及合理的性价比等 优点,对于执行战争结束地区的排查和清理工作相当合适上个世纪八十年代后期,美国已经发起了关于无人扫雷也就是机器人扫雷的 相关研究,并积极研发设计此类设备以至于美国的联合机器人开发项目都包括 军队特别装备的各种远程地雷检测机器人、防爆机器人、反恐机器人等等在政 府和军队的大力支持下,“ Magic Claw” , “Pike Potter ” , “Mine Hunter”等 型号的智能机器人相继公开并投入使用, 当时记录的数据表明,这些机器人确实在各个战区都发挥出了超前的水平和性能,为美国的军事行动带来了巨大帮助美军曾在阿富汗和伊拉克使用了数十个探测、 爆破、排雷的机器人,但最初的装 甲师团7个爆破机器人已经消除了上千枚未爆炸的地雷 90年代后,美军的爆炸 物任务组使用了 18台清洁机器人,对伊拉克军队残留的爆炸装置、哑炮和地雷的 清除起到了重要的作用。
在欧美地区当地的科学家们研制出了一种和传统的地雷机器人不同的机器 装置,这种机器装置主要是三部分组成, 第一部分是由行动部分组成,这部分可 以使地雷排除小车行动自如的在复杂的雷场进行多变的行驶 第二部分是地雷检测部分,地雷检测部分通过高标准的金属探测器可以探测到地下三米左右的地 方,如果发现地下有潜在的安全影患, 就会激发第三部分的使用,第三部分就是 地雷标志装置只要有地雷在地下给检测到了,标志装置就会在地下地雷相对应 的地上位置标志出鲜艳的黄色标志, 然后小车继续向前进行地雷的扫除 整个探 测过程可以做到相当高的自主性和自动化 使用摩托罗拉的中央处理模块和处理 部件来完成对机器人的指令发出和执行任务 当检测到地雷时就用喷漆标记,标 记完成后绕开地雷,继续执行探雷任务我们的邻国日本,作为一个机器人技术相当领先的国家, 上世界还参与柬埔 寨这个地雷“重灾区”的国际人道主义援助,基于这些原因也积累了扫雷机器人 的研发经验日本技术部门研发的一款名为“彗星 2”的机器人,实现探雷作用 的同时兼具排雷功能,可以说是一个技术含量相当高的多功能机器人 最大的特 点就是除了识别正常的金属制地雷,它还可以探查到普通扫雷设备无法识别的高 分子聚合物地雷,这得益于其安装了一种特殊的感应雷达。
一些地雷数量密集的 国家区域曾使用过这种机器人,取得了很好的效果,但因为其成本相当高,所以 也存在维护困难,使用频率有限的问题此外,还有很多欧洲发达国家如挪威、 捷克斯洛伐克等在国际维和行动的号召下, 也相继开发出一些独具特点和创新的 新型排雷防爆机器人,对保障本国人民的安全和世界维和行动作出不小的贡献现在,中国主要有防爆机器人、链条锤扫雷艇和定向能源扫雷艇其中,排 雷机器人被广泛用于恐怖袭击对策底盘操作, 链条锤排雷车已经完成,在云南的 军事现场进行了实地试验,定向性地雷检测装备已经完成,并且下一个步会基于 陆军实战平台把这些设备投入了实际的战斗中在未来,不仅仅有机器人扫雷技术,结合卫星和无人机的高空地雷探测即将 出现,还将采用智能集成化扫雷排雷一步完成的技术, 使用时新的AI技术和微处 理器技术开发的地雷探测和地雷扫描车以及使用激光和机器人技术的遥控地雷 扫描车也将有新的发展和突破这些都将是传统的盲扫转变成精确的定位扫描, 相信不久的将来会埋藏在世界各地的地雷将会得到彻底清除在我国的第五步兵维和团部队中的智能扫雷机器人研制过程中,我国的科研人员设计研发出了一种完全是我国自主研制的高性能智能扫雷机器人。
我国研制的扫雷机器人具有超高性能的战场生存能力, 还具有超牛的战场复杂环境的行动能力, 我国自主研制的扫雷机器人可以爬上将近五十公分的垂直墙面, 还可以通过长达三十公分的沟渠, 可以在颠簸的战场环境中随意的前进VIII -第二章概述2.1自主扫雷小车的系统概述本设计是由基于视觉传感器的扫雷小车代替人工和其他传统扫雷方式 整套控制系统具有以下功能:自主扫雷、测距和自主避障、自主巡航、报警等功能 由以下模块组成,包括:中央处理模块、电机驱动电路模块、报警模块、超声波 避障模块、视觉识别模块、电源模块小车通过视觉传感器检测到地雷时,经过 中央处理器处理,闪灯发出警报,并在原地停留2秒后,通过电机驱动模块驱动 小车继续扫雷遇到障碍物时,由超声波测距模块识别出距离, 再通过驱动模块 驱动小车做出避让后退等动作以下为系统原理图图12.2自主扫雷小车的所使用相关技术概述本设计是关于自主扫雷小车的设计与实现 主要使用以下几种技术,传感器 技术、基于python底层的openmv图像数据处理技术、数据打包传送技术、声学 测距范畴超声波测距技术、自动控制技术2.3系统设计要求概述(1) 视觉传感器扫雷;(2) 识别地雷闪灯报警;(3) 报警同时停留2秒,之后继续扫雷;(4) 遇前方障碍物转弯后退避让。
第三章系统设计3.1扫雷小车系统总体设计和框图本扫雷机器人系统设计主要包含视觉识别、测距、避障、驱动还有资源配置 主控芯片采用stm32f103系列核心板其中避障部分主要用HC-SR04超声波模块 结合外部中断1来设计,视觉识别主要采用Openmv4摄像头模块以及算法来实现 对强烈对比的“地雷”进行识别,阈值可调,颜色可调小车驱动部分为,便于 控制而对于场地的扫描以及排雷顺序,主要遵循从进到远、从左至右、逐个排 雷并结合每个地雷的权值作为排雷顺序依据 避障部分采用中断进行,有障碍则 减速至停车、转向,继续排雷电源部分采用 12V、1800mAh电池以及相应的 DC-DC升降压稳压模块和 DC-DC12V!压5V模块给主控供电,12V用作二轮驱动系统总体框图如下所示扫雷部分图2电机报警部分-12 -以下介绍系统的软硬件设计和各模块的功能、算法和程序,3.2中央处理模块众所周知,中央处理模块是一套系统的核心,就像大脑在人体中的地位一样 各个传感器、部件传输过来的信息都汇集到中央处理模块,并且进行筛选分析, 通过算法和程序运算所得数据,再发出对应的指令和信号指挥各个部件做出正确 的动作和反应。
本次设计选用的是在智能控制和设备中广为应用的 STM32单片机这是一种基于ARMV架构的Cortex系列标准架构,是ARM大约在10年前推出问世,他的 出现满足了更多市场和用户越来越多样化和复杂功能的需求, 成为了当下主流的性能较高的单片机芯片根据所面向领域的不同,这个系列可分为 A、R、M三个功能不同的的系列其中,A系列是用于开放复杂操作系统和复杂的应用; R是Real的缩写,用于实时系统;M是Micro的缩写,特别是用于微控制领域的低成 本研究和开发STM32处理器的出现为高功率、低成本的嵌入式应用比如微控制 系统、工业控制系统、车身系统和无线网络等高性能的系统提供了基础,从而实 现了编程的复杂性和高性能,还有系统的低功耗和低成本,在科研公司将地雷清 除小车,主要并集成芯片是由半导体组成,哦,地雷七路小车最大的公司是 st公司,st公司生产出一种m3颗新开发项目,主要是由m3颗新处理器设计的第1 个基于v7m架构的32标准处理器,这种处理器它具有功耗消耗低,技术不低的 优点而且这款处理器,中间延时时间超级短,而且调试量超级低,十分使用超 方便多其他优势使它在许多处理器中立马显现出来,展现出强大魅力。
直至现 在,STM32处理器分为两大系列,分别是 F101和F103其中,F101系列为基础 入门系列,CPU频率设置在36MHz F103系列是功能性能的加强系列,CPU频率 最高为72MHz片内RAM较多,外围资源较丰富这两种型号都在软件和 PIN的封装上兼容,并拥有同样的片内flsah资源因为种种优点,使得在这个平台进 行软件更新和开发变得快捷又高效在下文中我们将具体介绍stm32f系列中,终端的32位LV控处理器的具体 功能和具体组成部分这种32位的芯片是这个公司的半导体出品比较留的一个 项目,它的内核是由cor tex m 组成并且这种芯片的fl ash大小可以分成以 下三类第1类是小容量的芯片只有16k和32k第2类是中容量的芯片,有64k 和128k第3种是大容量的芯片,有256k, 384k和512k并且这款芯片的集成 定时器中有多种功能,主要是由以下 CAn功能,adc功能,SPI功能,I2C功能 USB功能并且这款处理器的访问周期可以达到 1.25d每秒这款处理器还运用了单周期乘法和硬件出发,使运算效率大大提升在这款处理器中的储存器,是 由16k到512k字节的闪存程序处理器组成。
并且这个公司生产的处理器,它的 电源管理功能超级厉害,因为它的电源管理功能是2.0~3.6伏供电,而且他的上 电和断电复位,设计的十分巧妙,可以编程电压监测器,在他的4-16MHC震荡体 中内嵌了由出厂调校的8mhz rc振荡器,而且它可以产生 CPU时钟p II带校准 的32khz的rc振荡器姐,这款地雷排除智能功能小车,它所采用的低功耗主 要有三种模式,第1种模式是睡眠模式,第2种模式是停机模式,听筒模式,待 机模式这款智能小车中还有后备继承供电系统,经过模数转换器,将 12个12位模数转换器,转换时间多达16个,输入通道转换范围,可以上升至 3.6伏, 而且它还有双采用系统和保持功能温度传感器系统科学家研制这款智能小车中 的内部处理器过程中,它的处理器几乎所有的端口都可以容忍达到 5v的信号在这款智能排除地雷小车的调试模式中,他的调试模式有串行单线条是sw d 和jtag接口他的调试模式居然可以装上多达 8个定时器和三个16位定时器, 每个定时器有多达4个用于传输或者捕获p wm或脉冲技术的通道和编程码的输 入在他的调试模式中,共有一个 16位带死区控制和急刹车功能,用于电机控 制p wm高级控制定时器和两个看门狗定时器。
这两个看门狗定时器分别有两种 类型,第1种类型是独立类型,第2种类型是窗口类型,而且系统定时器有 24 位置简述计时器,有多达 9个通信接口在这款小车的通信接口中有两个 L2C接口并且还有三个USARt接口而且他还有两个 SP l接口和can接口还有两 个USB2.0全速接口而且这款处理器使用的计算单元也是目前最先进的 96位新密码为代码的crc计算单元3.3摄像头模块3.3.1简介本设计是基于视觉传感器的扫雷机器人, 作为其核心部分,视觉传感器就像 小车的眼睛一样重要经测试,使用stm32f103单片机和普通摄像头因为涉及图 像处理的原因,使得帧率过低无法满足设计要求为了使开发简单的同时保证高 识别速度和准确度,我们采用了时下流行的 Ope nmv摄像头模组作为一个功能丰富性能强大的摄像头模组, Ope nmV体积小,硬件排布紧凑,使用简单,价格低廉,它的中央处理部分用的是stm32系列单片机模块,并且可 替换不同型号的摄像头设计语言基于通用的 C语言,除此之外还有Python接口,高效便捷,方便开发者编译,降低编程门槛,容易实现较为复杂的核心功能, 用户利用Python语言来使用Openmv具备的各种各样丰富的功能,让他们独有的 想法和创意能够自由的在自己开发的设备上实现。
Ope nmv拥有多种视觉识别算法,主要有以下几类,比如人脸的识别算法、 色块的寻找捕捉算法、边缘检测算法、标识物的跟踪算法、手势追踪等等,不仅 可以给普通开发者爱好者实现一些有趣的功能,对于要求更高的工业商业所需的 专业功能,也可以满足实现,例如指定物体的标识追踪,生产线上不合格物件的 检测、未经授权的物体入侵等因为它的体积小重量轻,可以安装到无人机,小 车,机器人这类DIY的娱乐产品上可以想象一下,给你的电子狗装上人脸识别 功能,让它只对你做出反应,或给你的机器人增加对身边空间的识别功能, 然它 不在四处碰壁吗,亦可让你的智能小车增加自主导航寻路功能, 然它不用你要控便能来去自如当然,你要是专业人员,给你的生产线加上不合格品的筛选、条 码的识别功能当用户亲身体验就会发现,只需懂得基础的程序编程,用一些简 易的代码,就可以很方便容易实现各种视觉识别的功能因为核心基于 32系列单片机,所以它也提供了种类繁多的外部接口还有相当完善的系统硬件所需的资 源,用以满足使用者拓展更多功能的需求, 比如USB接口,就可以连接电脑并使 用配套的调试软件,辅助用户完成开发、调试和更新固件等工作, TF卡槽装载TF卡,保存多个程序或者拍摄到的图片。
亦可使用单片机模块控制其他的硬件 如Arduino、树莓派等同样的它也能接受其他单片机的制,这个优点使得它可 以很方便的和多种不同模块组合,完 成更复杂的功能3.3.2 Ope nmv机器视觉应用方法对于机器的视觉来说就是,人眼可以看东西,而且我们现在是用 机器人来代替人眼去看东西,机器人虽然不能直观的看东西,但是机 器人可以代替人眼来进行测量和判断物体的距离和大小 所以传说中的机器人看东西,也就是机器人视觉系统,通过机器视觉产品,将摄 取目标转换成图像信号传送给专用的处理器系统, 是被摄取的目标形态信息,根据像素分布亮度颜色的大小特征转变为数字信号, 在电脑上经过集成系统的分析,然后图像对这些信号进行各种运算来抽象的-XIV -模型的特征进行判定,然后通过现场的操作人员,来控制现场的小车 设备动作进行扫雷排除由于目前的机器人视觉系统发展已经十分完善了, 所以机器人系 统可以在短时间内获取大量的信息, 然后再集成芯片的处理下,可以 使信息的加工控制系统更加完善,因此在现代化的生产过程中,人们 教机器人的视觉系统广泛的应用于工程皆是成品检测质量控制以及 检查管理等等领域总的来说,机器人的视觉系统特点就是生产性的 柔性和自动化程度非常高。
所以在一些不适合人类工作的危险环境工 作环境下,或者人类视觉难以满足的要求,而机器人视觉可以代替人 工视觉进行对生产环境的监测和检验由于工厂化的生产是大批量的 工厂化生产,所以人工去检查产品合格率,效率又低又不准,那么我 们用机器人是要去检查,成品的合格率就可以大大提高产品的生产效 率和质量可以使工厂的自动化生产更加完善 而且机器人更容易实 现机器和物品的信息集成功能,是实现计算机集成制造业的基本技术 之一,所以这种技术我国早就掌握了,那么我国在工厂自动化生产中 就会运用机器人来检测物品的成功率标准目前机器人的视觉产品制作中的工程制作, 主要由7个部分组成 接下来我们来简述这7个过程的具体内容第1个部分就是工业相机和 工业镜头的组成,这部分相当于人的眼睛去看东西,属于成像器件主 要是视觉系统有一套或多套这样的成像系统相互组成,用多录像机去 分辨物体大小和形状,同时控制获取多个相机的通道数据, 根据应用 相机来获取所需要的单色视频进行复合信号的转换最后进行非标准 的逐行扫描信号线扫描性号和高分辨析信号,等等信号统一归总 第2个部分就是光源,因为你要看东西必须要有光有光才能看到东西, 所以光源是作为机器人视觉系统,一个辅助成像器线,而成像的质量 好坏,往往就是光源起到重要的作用,各种形状的 LED丁,屏光灯, 光圈卤素灯都很容易得到,所以光源在机器人视觉系统上的应用是必 不可少的。
第3个部分就是传感器部分,传感器部分可以说是,机器 人视觉控制系统里面比较重要的部分之一, 通常是由光电开关接近开 关的形式组成,用于判断被测对象的位置和状态,东西在哪儿,就需 要传感器去判断东西的状态怎么样, 也需要传感器判断,所以传感器是告知图像如何采集的正确途径之一第4个部分就是图像采集部分, 图像采集部分通常以插卡式的形式装,在 c盘中,图像采集卡主要工 作是把相机输出的信号传输到电脑主机,然后他们将来自相机模拟信 号和数字信号转成一定数据的图像模式 将这些图像模式通过数据线 与数字电信号的形式显示在显示器上 而图像采集器,还可以控制相 机的一些参数,比如说触发信号,曝光时间,快门速度,都可以控制 并且图像采集器卡通常有不同的硬件结构,以针对不同类型的相机同 时有不同的总线形式第5个部分就是PC平台,什么是PC平台,PC平 台就是一个电脑的,PC是视觉系统的核心电脑所有的图像都需要在 这里完成图技术上的处理和绝大部分控制逻辑 为了检测这种类型的 应用,通常都是使用频率较高的CP处理器这样处理器功能越强大, 那么处理的时间就会越少,同时就会大大增加电脑的处理功能效率 并且通常为了减少现场工作环境的震动灰尘温度以及外在干扰因素, 我们通常会选择工业级的电脑。
第6个部分就是事件处理软件,视觉 处理软件就相当于是人的大脑后神经反应, 这个部分主要是用来完成 数字图像的数据处理,然后通过一定运算得出结果是输出结果, 通过 信号和坐标位置字符串等等形式传送到具体视觉软件显示器中 机器人常用的世界软件处理器是C-C++图像库图形式编程环境,可以是 专用功能的,LCD佥测,vga检测模板对准等等也可以是通用目的的 定位,测量条码单点检测等等第7个部分就是视觉处理器的控制单 元,控制单元包括运动控制和电平转化单元控制, 一旦视觉软件完成 了图像分析,那么就需要和外部单元进行通信并产生对其生产能力的 控制,简单的控制可以利用部分图像卡自带的开关进行控制, 但是相对复杂的控制就需要控制单元来运行和控制接下来我们来分析一个完整的视觉系统主要的工作过程 视觉系统工作过程中,第1个过程就是通过弓箭定位检测器来探测物体运到 了哪儿,然后通过摄像系统将物体纳入视野中心,然后采集图像,使 部分图像发送触发脉冲第2个过程,通过图像采集部分事先设置好 的程序和定位功能,分别向摄像机和照明系统发起信号, 使摄像机开 机使照明系统开灯第3个过程,就是相机停止扫描过程过后,就需 要新的开始扫描,所以摄像头必须要不停的进行摆动, 来瞄准物体的-XVI -移动方向,在启动脉冲到来之前一直处于等待状态。
但是在这个过程 中,我们需要摄像头开始新的反弹过后,提前需要打开曝光机构,因 为曝光机构可以通过我们的计算机编码处理系统, 可以事先编程使灯光系统永远在相机开机之前打开在打开灯光照明过后,就会启动 脉冲,使灯光的开启时间和摄像机的曝光时间相匹配 这个过程就是相机曝光之后,那么就需要开始对图像进行接收和模拟信号的输出图像的采集部分接收的模拟信号就会直接吸收到摄像机中,使摄像机 将图像生成数字化的视频数据,然后将数字化的视频数据存放在处理 器或计算机内存中然后大型的工业电脑中的处理器就会对图像进行 处理分析识别,然后或许所需要的结果和测量数据之后电脑的分析 系统就会对这些数据进行分析,然后对流水线上的产品进行控制,定 位和纠正,来增加大型生产链上的产品质量和生产效率333 Ope nmv4的运算及处理能力open mv4采用的是当今现在最高性能的微控制系统,这种微控制器是 stm32h7, stm32h7高性能微控能处理器运行在 400MHZ左右据有关科学统计, 他的内核跑分是两千二十分,这款高性能微控制器的跑分效果可以和当今市面上 的主流软件相匹配功能强大的 mcu和OPenv4相组合,产生出的性能强悍可以 轻松地在OpenMV平台上几秒内直接运行颜色跟踪、人脸识别与检测等机器视觉 算法。
还带了基于caffe深度学习框架的cnn神经网络框架,可在openmv运行CIFAR10 CIFAR10 Fast MNIST、Smile Detection 等模型支持可拆卸式的 摄像头模块,包括 0V7725 0V2640 MT9V034 OV9650等摄像头OpenMV4勺主芯片采用stm32H743vit6主频400M内存2M,处理速度远超OpenMV3OV2640灰度MT9V034和彩色 MT9V034可拆卸的方式让大家可以随意更换自己想用的镜头型号可以最大限度的进行各类图像采集另外再通过镜 头的更换Openm啲底层python已经圭寸装好一系列的圭寸装库:API: find_blobsthresholds 是颜色的阈值通过这个法子可以判断很多种颜色,并且,通过这 个参数作为一个列表,这个列表中将所有的颜色都能靠过来,那么这个色块对象, bao b就可以调动seo de方法来判断颜色是什么色块roi是“感兴趣区”x_stride 就是查找的色块的x方向上最小宽度的像素,默认为 2 y_stride 就是查找的色块的y方向上最小宽度的像素,默认为1 area_threshold 面积阈值,如果一旦有小于这个色块的面积,那么电脑中就会自觉将这个面积过滤掉。
pixels_threshold 像素个数阈值,如果有小于这个值的出现,那么电脑也会将这个值,自然的排除,不会使它出现在电脑处理器中merge合并,如果设置为True,那么就将所有的纸全部合并在一起,进行综合 运算处理blob为一个注意:这会合并所有的blob,无论是什么颜色的如 果你想混淆多种颜色的blob,只需要分别调用不同颜色阈值的find_blobs blobs = img.find_blobs([red])find_blobs 对象返回的是多个 blob 的列表而一个blobs列表里包含很多blob对象,blobs对象就是色块,每个blobs对 象包含一个色块的信息blob有多个方法:blob.rect() 返回这个色块的外框 矩形元组 (x, y, w, h) ,可以直接在image.draw_recta ngle 中使用blob.x() 返回色块的外框的x坐标(int ),也可以通过blob[0]来获取blob.y() 返回色块的外框的y坐标(int ),也可以通过blob[1]来获取blob.w() 返回色块的外框的宽度 w(int ),也可以通过blob[2]来获取 blob.h() 返回色块的外框的高度h( int ),也可以通过blob[3]来获取。
blob.pixels() 返回色块的像素数量(int ),也可以通过blob[4]来获取blob.cx() 返回色块的外框的中心x坐标(int ),也可以通过blob[5]来获取 blob.cy() 返回色块的外框的中心y坐标(int ),也可以通过blob[6]来获取 blob.rotation() 返回色块的旋转角度(单位为弧度)(float )如果色块类似一个铅笔,那么这个值为0~180°如果色块是一个圆,那么这个值是无用的 如果色块完全没有对称性,那么你会得到0~360°,也可以通过blob[7]来获取 blob.code() 返回一个16bit数字,每一个bit会对应每一个阈值当我们调用的find blobs,来做色块追踪处理器时,主要采用的原理就是因为这 款色块追踪处理器,它拥有全幅图像扫描的功能,当然,他这种功能有优点也有 缺点第一,他的优点有很多,比如说运算速度超快他可以教所有的色块一起 扫描进来,而且还是全图扫描但是这种色块追踪处理器的缺点,是,色块数量 很多时候,就会干扰系统的判断,导致最终失败,而且有些部分不需要扫描,这 款处理器会将其扫描进去此处用绿色目标物作为样本数据得到以下的现象图片:-XVIII -.T图1-1处理速度:1图1-23.4数据打包传送技术JSON(JavaScript Object Notation, JS 对象简谱)数据打包传送技术,是一种比较属于轻量级的数据交换格式。
而且这种交换格式比传统的xm1更加轻巧,所以可以到达节约传输数据所被占用的宽度和时间, 大大提高传输数据的时间效率并且数据打包传送技术通过简洁和清晰的层次结 构,Json成为理想的数据交换语言,通过这种交换语言,可以让人们更加容易 的阅读和编写这种程序使网络传输这种数据的时间大大缩短, 增加了网络的传 输效率,也增加了机器的工作效率只需要记得,一种文本字符串是由 JSON组成,而且这种文本 字符串,应该被储 存在某一种 属性中,这种属性 就是respo nsetext属性,并且,我们在毒区这种数据过程中,还可以使用一些函数 来解析json,当然,这种函数是特殊的函数,分别是 javascript 的eval函数, 还有一种计算机中特定的语言函数JSOh注意事项:(1) 名称必须用双引号(即:””)来包括(2) 值可以是双引号包括的字符串、数字、 true、false、null、JavaScript 数组,或子对象接下来我们来简要说一说,java中的常用编写方法以及编写方法的意思json.dumps():将Python对象编码成JSON字符串json.Ioads():将已编码的JSON字符串解码为Python对象json.dump():将Python内置类型序列化为json对象后写入文件json.load():读取文件中json形式的字符串元素转化为Python类型在底层中具体采用Python后、stm32 H7为处理器的摄像头模组,则需要涉及到 摄像头模组与主控stm32f103的数据传送问题。
传送数据的方法为用 stm32 H7的串口 3(UART3与stm32f103主控的串口 2(USART2直接进行双线异步数据 传送,传送的数值有两个:一个是特征点的数量,另一个是总体巡线特征值的偏 左或偏右量由于串口直接传送数据的方法通信容易产生数据遗漏、 丢数据、其他信号线的影响,则采用json数据打包的方法,接收端进行数据校验解析的方 式,如下图:USART 串 —口解析校验 帧头、帧尾主控端-XXI -Openmv 端图1-33.5超声波避障模块超声波避障模块相当于小车另一个眼睛它将所收集到的外界环境的信息发 送到单片机也就是中央处理器,经由其计算得出数据,并发出指令实现躲避障碍 物的功能其整套过程就和我们人在行走时,眼睛看到前方物体挡住,从而通过 大脑判断如何绕开物体,选择正确路径是一样的道理当前市面上有很多可以基 于不同原理实现避障测距功能的模块, 例如比较常用的红外线检测、光学检测还 有就是本次实验使用的超声波检测大量研究表明,超声波传输中能量亏损小、 下降速度慢,方向性比较确定,在介质中传播的距离长,所以超声波在测距方面 得到了大量使用,很多仪器设备都通过它来检测距离并且超声波的使用快速便 捷,数据运算也得到简化,于此同时还能满足精度要求较高的工业生产和实时性 的需求,因而很多开发者和研究人员使用它来进行移动智能设备的设计和开发。
本次设计选用了型号为HC-SR04的超声波模块,它价格低廉,形状小巧便于安装, 成为扫雷小车的不二选择当今市面上的所有超声波传感器,所利用的原理都是多普勒原理东圃的原 理主要是说,通过京正体向外发射超过人体能感知的超频高超声波, 然后这种超声波通过控制模块检测反射回来, 检测其反射回来的频率这种超声波的波频一 般是在25~40khz波在超声波传感器的运作工作过程中,叫超声波发射出去, 在超声波发射的区域只要有物体进行不断的运动,那么超声波就会在上面反射出 一段频率这段带有波动的频率就称为多普勒效应 我们可以通过反射回的频率 来判断物体在指定区域内运动的位置和移动的速度方向 通过这些判断分析,可以来控制开关接口: VCC接5V电源,GND为地线,TRIG触发控制信号输入,ECHO回响信 号输出,TRIG与 ECH接STM32勺任意GPIC口本设计的实现主要基于HC-SR0超声波测距模块的使用,通过stm32f103外部中断 系统和定时器系统,实时扫描机器人前方是否有障碍物,判断距离阈值可用软 件 设置调整stm32f103主控外部中断机制中,初始化应用方法分析及判断①中断机制:STM32的每一个GPIO都能配置成一个外部中断触发源,这点 也是 STM32的强大之处。
STM32通过根据引脚的序号不同将众多中断触发源分成不同的组,将下面 7个中断装置:PA0 PBQ PC0 PD0 PEQ PFO, PGO为 第一组,只要我们将这些终端装置按照这个顺序, 依次匹配分类归于一种,然后 将所有的类别划分为同一性质的装置,那么我们就可以得到 16组,在这种中断装置机制原理控制中,规定每一组只有一个终端装置可以控制开关的闭合, 就是说,只有一个装置在一组中,可以去控制外部闭合系统那么,最多工作的也就 是16个外部中断STM32F103的中断控制器支持 19个外部中断/事件请求每个中断设有状态位,在这些组类别的终端装置中,每一个装置中的组别都可以 去判断外部装置是否有中断的情况发生 STM32F103的19个外部中断为以下 4种情况第1种情况16,都可以通过到 PVD输出第2种情况17:都可以通过到 RTC闹钟事件第3种情况18:都可以通过到 USB唤醒事件第4种情况0~15:合理的匹配外部 IO 口的输入中断GPIO引脚中断标志位中断处理函数PAO-PGOEXTIOEXTIO」RQHancilerPA1-PG1EXTI1EXTI1 IRQHandlerPA2*PG2EXTI2EXTI2」RQHandlE「PA3-PG3EXTI3EXTI3_IRQHandlerPA4~ PG4EXTI4EXTI4」RQHandlerPA5-PG5EXTI5EXTI9_5_IRQHandlerPA6-PG6EXTI6PA7-PG7EXTI7PA8^PG8EXTI8PA9-PG9EXTI9PA10-PG10EXTI10EXTI1510 IRQHandlerPA11-PG11EXTI11PA12-PG12EXTI12PA13-PG13EXTI13PA14-PG14EXTI14PA15-PG15EXTI15图2-1②中断配置过程:1、配置触发源GPIO口:由于在GPIO可以作为传统的触发源,来使用。
我们只需要将GPIO口配置成 输入模式,在触发模式中,主要有以下几种XXIII -第1种是.GPIO_Mode_AIN,主要是利用模拟输入(ADC模拟输入,或 者低功耗下省电),就可以完成配置口的输入第2种是.GPIO_Mode_IN_FLOATING可以通过浮空输入,就可以达到 目的第3种是.GPIO_Mode_IPD,可以通过带下拉输入,就可以达到目的第4种是,GPIO_Mode_IPU,可以通过带上拉输入 ,就可以达到目的GFIC_InitZi-peDef GFIO_InitStr-JC"t^re;//走义结构住RCC_APB2PenphClockCmd(RCC_APB2Periph GPIO&ENABLE);//使能时神GPIO InitStructure.GPIO Pin = GPic_Fin_2;//iSJ^I0口 PE2GPIO InitStructure.GPIO Mode =軒工匚_屜血_咋口;"设青成上拉辅入GPIO lnit(GPIOEj &GPIO Inl^Structure} ;口使能AFIO复用时钟功能:将GPIO口与中断线映射起来:GFIC iXTILsneCcnfig(SEIC_PcrtSc^rce&FIC■f SFI0_FLnBaurce2);中断线上进行中断初始化:三X二二_:匚上二:三三M二:“二:-二二三:=-:=二 帀」; = •(&=”■?〒EXTlJnltSiructure EXT1 Uw-ekti Li nc z * KKKB■為EXH LireO-EXTI Une1 SEX71」nltStructure.EXTI Mode - UTi_Madt_iat*trupt; /Afi 1^4^.可逛血y 中錚 EXT I Mode Interrupt1X71 Mode Event,EJCn_lnitStr\Kture.LXH_Tno0er = Exujzraj可以是下降f 竣 EXTI-TriggerpElling, ±?HSMStEXTl_Tr^^r_Ri^ingr 丽舌创耗爭 t上幵汨吒下碍汩)i®^EXT|_Tr>gger_Rising_FaIHngEXI InicSlructury EXTl Llr'eCjnd = ENABLEE)CTl_lTiiu = ir-年宿咕叮住'吕吕三j叩匕化6外部中断服务函数的编写:外部中断函数分别为:EXPORTEXTI0_IRQHa ndlerEXPORTEXTI1_IRQHa ndlerEXPORTEXTI2」RQHa ndlerEXPORTEXTI3_IRQHa ndlerEXPORTEXTI4_IRQHa ndlerEXPORTEXTI9_5_IRQHa ndlerEXPORTEXTI15 10 IRQHandler中断线 0-4 每个中断线对应一个中断函数,中断线 5-9 共用中断 函数 EXTI9_5_IRQHa ndler , 中断线 10-15 共用中断函 数 EXTI15_10_IRQHa ndler。
VOid (void){if (EXTZ_E«tI(EX二 1 =RE死二)F厝1个歳上的中断是頁箴生中断逻帯…EXTI ClearlTPendingEit(EXTI Line2); 〃清除 LINE±的中断标志<5)}HC-SR0绷Q距模块基本参数:1. 工作电压:4.5V--5.5V , 5.5V为上限,不得超出;2. 工作电流:最小1mA最大20mA3. 工作频率:40Khz;4. 可识别的工作距离:4mm--4m(备注,识别最近距离为4毫米,最远为4米, 数据为持续输出,不需要预先设置);5. 可测量的温度大小:0度--100度,精度为1度;6. 可测量的光照的程度:可以明显的判断出黑色白色或者是光亮暗淡之间的效 果7. 数据输出方式:主要有两种,第 1种是icc第2种是uart或者57600bps-XXV -HC-SRO绷Q距模块时序:-27 -输岀附佶号回响电平辂出 与检测BE詔咸比例HC-SR04超声波模块,测距原理为利用正常条件下声学中音速为 340m/s,模块trig端接受高电平时则连续发送8个高电平脉冲,同时echo端输出高电平, 接收到回传信号时则改输出低电平,禾用主控 TIM2定时器和EXIT4中断源(优先级组设置为2)来记录高电平时间,即可由:La=340*TIME(S)(米)计算出La及障碍物距离3.2.4PID自动控制技术在这种自动控制化技术过程中,我们在控制的过程中可以按照偏差比例的不 同来进行控制,Pld控制器。
在控制系统中主要是,以下三个部分来进行控制, 第1个部分是比例部分,第2部分积分部分,第3部分是微分部分,通过这三个 部分协调解决就可以使自动控制器的自动控制技术更加完善 目前市面上的自动控制器的自动控制技术决定简单而且易于实现, 它的适用性十分广泛,可以运用在各个领域,而且这种自动控制器的自动控制器控制参数数据相互独立, 又有一一对应的特点我们可以通过调节这种比例积分和微分之间的规律, 然后进行连续要对产品的连续动态系统品质校正进行方法的解决和判断, 而且这种自动控制技术它的参数整定方法结构简单又轻便在传统的应用过程中控制点,包括三种 比较简单的,比例积分微分控制算法导致三种控制算法,第1种控制算法是增 量式算法,第2种控制算法是位置是算法,第3种控制算法是微分先行算法虽 然这三种比例积分微分算法控制系统简单, 但是它们的特点基本可以满足一般控 制系统所需要的大多数需求离散化公式:△ u(k)= u(k) - u(k-1)△ u(k)=Kp[e(k) -e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)]进一步可以改写成△ u(k)=Ae(k) -Be(k-1)+Ce(k-2)对于增量,是算法中可以选择的功能有很多种, 第1种我们可以选择。
滤波选择,对于滤波选择来说,滤波选择就是,对输入加一个前置的滤波器,使输入 的控制。