基于raspberry_pi的agv视觉导航设计(编辑修改稿)内容摘要:
Raspberry Pi 基金会 ”开发 ,EbenUpton/埃 厄普顿为项目带头人。 2020 年 3 月,英国剑桥大学埃本 阿普顿( Eben Epton)正式发售世界上最小的台式机,又称卡片式哈尔滨工业大学(威海)本科毕业设计(论文) 6 电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi 电脑板,中文译名 树莓派。 这一基金会以提升学校计算机科学及相关学科的教育,让计算机变得有趣为宗旨。 基金会期望这 一款电脑无论是在发展中国家还是在发达国家,会有更多的其它应用不断被开发出来,并应用到更多领域。 在 2020 年树莓派早期概念是基于Atmel 的 ATmega644 单片机, 首批上市的 10000“台 ”树莓派的 “板子 ”,由中国台湾和大陆厂家制造。 截止至 2020 年 6 月 1 日,树莓派只有 A和 B 两个型 号,主要区别: A 型: 1 个 USB、无有线网络接口、功率,500mA; B 型: 2 个 USB、支持有线网络、功率 , 700mA。 它是一款基于 ARM 的微型电脑主板,以 SD 卡为内存硬盘,卡片主板周围有两个 USB 接口和一个网口,可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和 HDMI 高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有 PC 的基本功能只需接通电 视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等著多功能。 Raspberry Pi B 款只提供电脑板,无内存、电源、键盘、机箱或连线。 树莓派的生产是通过有生产许可的两家公司: Element 14/Premier Farnell 和 RS Components。 这两家公司都在网上出售树莓派。 树莓派配备一枚 700MHz博通 出产的 ARM 架构 BCM2835 处理器, 256MB内存( B 型已升级到 512MB 内存),使用 SD 卡 当作储存媒体,且拥有一个Ether,两个 USB 接口 ,以及 HDMI(支持声音输出 )和 RCA 端子 输出支援。 Raspberry Pi 只有一张信用卡大小,体积大概是一个火柴盒大小,可以执行像雷神之锤 III 竞技场的游戏和进行 1080p影片的播放。 操作系统采用开源的 Linux 系统 ,比如 Debian、 ArchLinux,自带的Iceweasel、 KOffice等软件能够满足基本的网络浏览,文字处理以及计算机学习的需要,分 A,B 两种型号,其中售价分别是 A 型 25 美元, B型 35 美元。 基金会从 2020 年 2 月 29 日开始接受 B 型的订货。 树莓派基金会提供了基于 ARM 的 Debian 和 Arch Linux 的发行版供大众下载。 还计划提供支持 Python作为主要编程语言,支持 BBC、BASIC 、 (通过 RISC OS 映像或者 Linux 的 Brandy Basic克隆 )、 C和Perl等编程语言。 Broad 的 BCM2835 的 700MHz 的 ARM1176JZFS 处理器的哈尔滨工业大学(威海)本科毕业设计(论文) 7 FPU 的 VideoCore 4 GPU。 GPU 提供的 Open GL ES ,硬件加速OpenVG 的,和 1080p30 解码高调 GPU 是能够的 1Gpixel /秒, / s 或 24GFLOPs 的纹理过滤和 DMA 基础设施。 512MB RAM 10/100 BaseT 以太网插座 HDMI 插座 USB 插槽( X2) RCA 视频插座 RCA 视频插座 microUSB 插口供电 毫米音频输出插孔 Arduino Arduino 是一款便捷灵活、方便上手的开源电子原型平 台,包含硬件(各种型号的 arduino板)和软件( arduino IDE)。 它适用于艺术家、设计师、爱好者和对于 “互动 ”有兴趣的朋友们。 Arduino,是一个基于开放原始码的软硬体平台,构建于开放原始码 simple I/O 介面版,并且具有使用类似 Java, C 语言的 Processing/Wiring 开发环境。 图 11 Arduino Arduino 能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。 板子上的微控 制器可以通过Arduino 的编程语言来编写程序,编译成二进制文件,烧录进微控制器。 对 Arduino 的编程是利用 Arduino 编程语言 ( 基于 Wiring)和Arduino 开发环境 (based on Processing)来实现的。 基于 Arduino 的项目,可以只包含 Arduino,也可以包含 Arduino 和其他一些在 PC 上运哈尔滨工业大学(威海)本科毕业设计(论文) 8 行的软件,他们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现。 相对于同类型单片机,它具有如下优势: 1) 开放 源代码 的电路图设计, 程 序 开发接口 免费 下载,也可依需求自己修改。 2) 使用低价格的微处理 控制器 (AVR 系列控制器 ),可以采用 USB 接口供电,不需外接电源,也可以使用外部 9VDC 输入。 3) Arduino 支持 ISP 在线烧,可以将新的 “bootloader”固件 烧入 AVR 芯片。 有了 bootloader 之后,可以通过 串口 或者 USB to Rs232 线更新固件。 4) 可依据官方提供的 Eagle 格式 PCB 和 SCH 电路图简化 Arduino 模组 ,完成独立运作的微处理控制;可简单地与传感器,各式各样的电子元件连接 (例如:红外线 ,超音波 ,热敏电阻 ,光敏电阻 ,伺服马达 ,… 等 ) 5) 支持多种互动程序,如: Flash、 Max/Msp 、 VVVV、 PD、 C 、Processing 等。 基于 Arduino 的开源特性, Arduino 在于 RPi 的交互中体现了很好的兼容性,这一点在之后几章的介绍中可以很好的体现出来。 论文的主要内容及研究方法 AGV 系统分为 Rpi 为核 心的上位机以及以 Arduino 为核心的下位机。 Rpi 通过链接于它的 CCD 摄像头采集图像并进行分析,同时 Rpi应用自身的 wifi 模块建立网络节点,与其他 AGV 以及总服务站进行通讯。 下位机采用 Arduino( AVR 8 位单片机)进行对 AGV 地盘的差分驱动控制,并对红外传感器、激光测距传感器进行实时读取。 Arduino与 Rpi 之间进行串口通讯。 总结起来,毕设主要研究的内容如下: ( 1) 基于 opencv 的数字图像预处理 OpenCV 于 1999 年由 Intel 建立,现在由 Willow Garage 提供支持。 OpenCV 是一个基于 [1](开源)发行的跨平台计算机视觉库,可以运行在 Linux、 Windows 和 Mac OS 操作系统上。 它轻量级而且高效 ——由一系列 C 函数和少量 C++ 类构成,同时提供了 Python、 Ruby、MATLAB 等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。 哈尔滨工业大学(威海)本科毕业设计(论文) 9 预处理包括图像采集 ——彩色转 HSI——图像增强 ——灰度二值化 ——去离散干扰噪声 ( 2) 基于 opencv 的数字图像特征标识 采用边缘检测等算法,实现对包括区域路线以及路标的辨识 ( 3) 移动机器人平台设计和运动学分析 针对差分驱动结构的机器人,对其运动学特性进行分析并得出小车的系统空间方程与机器人驱动转速之间的关系。 ( 4) 移动机器人平台的差速驱动控制系统设计 设计并制作差速驱动系统的控制电路。 该系统由直流电机、减速器、光电编码盘、 arduino 8L 单片机、电机驱动芯片构成。 通过Arduino39。 接受 Rpi 的控制指令,并把命令转换成 PWM 脉冲信号,该信号经过 L298 放大,从而驱动直流电机运动。 单片机对编码器反馈信号经过 PI 控制器处理,从而可以实现对直流电机的精确速度闭环控制。 ( 5) 移动机器人的决策控制设计 通过 Arduino 实时测量的各种传感器的信息以及 Rpi 对图像处理分析的结果,建立一套撸棒性比较高的控制策略。 哈尔滨工业大学(威海)本科毕业设计(论文) 10 2. AGV 视觉导航的总体设计方案 引言 针对于以 Raspberry Pi(一下简称 RPi)为核心的 AGV 平台包括硬件与软件两个方面。 其中硬件平台主要包括车体、电气驱动装置、测速模块、无线模块和摄像头模块。 软件部分采用基于 OpenCV 为核心的视觉处理算法,通过 cmake 编译上位机程序,以及由 ArduinoIDE 编译的下位机平台来实现。 硬件平台 车体构造 AGV 的车体构成如图 21 所示。 a) 车体框架 哈尔滨工业大学(威海)本科毕业设计(论文) 11 b)万向轮 图 21AGV 车体实物 AGV 车体由两个直流电机、减速器、万向轮、相应的驱动电路、锂电池以及控制模块构成。 其中前后车轮采用三轮式结构,前轮是辅助轮,两个后轮是驱动轮。 如图 22 所示。 采用这样的 结构一方面在于可以根据左右驱动的差速来控制 AGV 转向,另一方面是可以减少功耗。 图 22 三轮式 AGV 电气装置 如图 23 所示, AGV 的电气驱动由 Arduino 下位机、直流伺服电机、电机驱动器和减速器构成。 哈尔滨工业大学(威海)本科毕业设计(论文) 12 AGV 通过下位机控制两个伺服电机的转速。 图 23 AGV 电气驱动装置 测速模块 如图 24 所示,测速模块采用光耦光电传感器,在单位时间内读取脉冲个数,从而计算出每个轮的转速。 图 24 测速模块 无线模块 常见的近距离无线通信技术有蓝牙、 ZigBee、 WiFi 等,远距离通信技术有 GPRS、射频、 GPS、 3G 等,本系统结合 AGV 的实际运行环哈尔滨工业大学(威海)本科毕业设计(论文) 13 境,采用近距离与远距离结合的方案。 如图 25 所示,在室内等近距离环境,采用由 WIFI 基站构成的无线局域网环境;在室外等远距离环境,采用由 3G 构成的远程通信方式。 a) wifi 模块 b) 3G 模块 图 25 无线通信模块 摄像头模块 AGV 的视觉导航,主要依靠摄像头模块检测道 路信息。 摄像头分为 CMOS 与 CCD 两种。 如图 26 所示,在不影响对数据的提取的前提下,本模块采用了一种廉价的 CMOS 摄像头。 哈尔滨工业大学(威海)本科毕业设计(论文) 14 图 26 摄像头模块 软件平台 AGV 控制系统的上位机以 RPi 为平台,使用 CMake 为软件开发环境。 CMake 是一个跨平台的安 装 (编译 )工具 ,可以用简单的语句来描述所有平台的安装 (编译过程 )。 他能够输出各种各样的 makefile 或者project 文件 , 能测试 编译器 所支持的 C++ 特性 , 类似 UNIX 下的automake。 只是 CMake 的 组态档 取名为。 Cmake 并不直接建构出最终的软件,而是产生标 准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ projects/workspaces),然后再依一般的建构方式使用。 上位机中的图像处理以及无线通信的相关算法都是在该环境下完成的。 下位机采用 Arduino 平台,并采用基于 Arduino 的官方 IDE。 这里的算法包括车速控制以及路径规划。 AGV 系统的整个流程图框架如下。 哈尔滨工业大学(威海)本科毕业设计(论文) 15 a)上位机 哈尔滨工业大学(威海)本科毕业设计(论文) 16 b)下位机 图 27 系统流程图 视觉导 航机器人的性能指标 AGV 涉及到的技术主要包括机器视觉技术、运动控制技术、无线通信技术和传感器技术。 具体如下: AGV 路径和路标的识别,控制算法的选择与优化,无线通信指令的发送接收,红外传感器的应用等等。 哈尔滨工业大学(威海)本科毕业设计(论文) 17 AGV 的相关技术指标如表 21 所示: 表 21 工程技术指标 型 号 导引方式 机器视觉导引 驱动方式 差分 驱动 车体尺寸 250mm150mm130mm 自重 2 kg 最大速度 m/s 走行方式 驱动轮差动转向;前进、后退、原地回转 最小回 转 半径 电池 锂电池 运行模式 手动、自动 两 种模式 通讯方式 无线通信 使用环境 10~40176。 C(室内 );地面倾斜 1176。 以内 本章小结 本章主要讲述了 AGV。基于raspberry_pi的agv视觉导航设计(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。