设计实现小车在计算机控制下走出迷宫的功能系统设计报告.doc
《设计实现小车在计算机控制下走出迷宫的功能系统设计报告.doc》由会员分享,可在线阅读,更多相关《设计实现小车在计算机控制下走出迷宫的功能系统设计报告.doc(20页珍藏版)》请在沃文网上搜索。
1、目录1. 整体介绍12. 硬件部分32.1 硬件元器件42.2 调试过程93. 软件部分103.1 图像处理103.1.1 原始图像103.1.2 透视变换113.1.3 迷宫结构分析123.1.4 最短路径133.1.5 小车定位133.2 迷宫算法143.3 小车实时调试173.4.1有线方面174. 系统测试184.1 串口通信184.2 小车控制184.3 不足与改进185. 项目总结与心得196. 致谢207. 附录第19页 上海交通大学 电子信息与电气工程学院1. 整体介绍 由摄像头(USB接口)实时捕捉迷宫内小车的位置情况,通过USB线缆传送至电脑里编写的上位机软件,软件通过图像
2、识别找出当前小车的位置信息及迷宫的信息,经过计算,作出控制决策,生成控制信号,并经通讯模块发送至小车。 小车上的控制电路对控制信号作出相应反应,驱动电机。使用硬件材料:89S52单片机控制的小车、RS232有线收发模块、USB转RS232串口线、计算机、摄像头 项目组成1、图像处理 摄像头监小车位置,通过图像处理的手段发布指令。其中的具体项目包括图像实时采集,图像处理预处理,形状检测,小车跟踪,摄像机标定及最优线路生成。2、串行通信计算机与小车之间的通信为串行通信(有线),实现PC与单片机的通信。由摄像头(USB接口)实时捕捉迷宫内小车的位置情况,通过USB线缆传送至电脑里编写的上位机软件,软
3、件通过图像识别找出当前小车的位置信息及迷宫的信息,经过计算,作出控制决策,生成控制信号,并经通讯模块发送至小车。3、单片机部分具体包括闭环控制算法,小车电机控制。2. 硬件部分小车结构小车分为三个部分,主板部份、车体部份和控制芯片部份。主板部分负责接受8V直流电源,并向小车的电机提供8V电压,向电路板上的芯片提供工作电压。车体部份主要为上层芯片和整体提供支撑,它的电机为小车提供动力前进。控制芯片部份负责识别并处理收到的信号,并输出控制信号,控制小车电机的运转。信号收发模块信号收发模块分为收发两部分,即发送部分与串口连接,接受串行通讯标准的TTL高低电平,将其调制后发送出去。接受部份将发出的信号
4、转化成标准串行通讯信号发送给小车。接收模块的Vcc与89S52上层版的Vcc连接,GND接电路板的任一接地端。信号输出端与89S52上层版的RxD连接,由于主板三极管通常是坏的,可将上层板RxD与底板分开。 USB转RS232线此串口线将增加电脑一个COM口,根据电脑的不同,初始被赋予的COM口地址也不同,但一般为COM4,可以在设备管理器中对端口地址进行修改。对于电脑与小车进行串行通信来说该线是透明的。其USB端接电脑,TxD接无线发送模块的数据端,Vcc与发送模块Vcc相连,GND与发送模块GND连接。 电脑及摄像头电脑有两个以上USB口,摄像头使用普通USB摄像头。2.1 硬件元器件这次
5、科创三实验,用到两块主要的芯片,一块是CMOS8位微控制器,其主要功能是: 兼容MCS-51指令系统 8k可反复擦写(1000次)ISP FLASH ROM 1000次擦写周期 32个双向I/O口 4.5-5.5V工作电压 3个16位可编程定时/计数器 时钟频率0-33MHz 全双工UART串行中断口 128x8bit内部RAM 低功耗空闲和省电模式 中断唤醒省电模式 3级加密位 看门狗(WDT)电路 软件设置空闲和省电功能 灵活的ISP字节和分页编程 双数据寄存器指针AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。AT89S52使用Atmel
6、公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,AT89S52拥有灵巧的8 位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许R
7、AM、定时器/计数器、串口中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 其PDIP图如下:另一块芯片是L298N,用它来控制两个电机。管脚图:每个管脚正常工作时的电参数如下:硬件原理图2.2 调试过程调试过程主要遇到了两点困难,一是拿来的小车本身硬件有问题,一开始根本无法正常运行。二是在转向时出现了打滑的现象。(一) 硬件部分是我们小组在基本完成软件部分后又碰到的一大问题,当时软件部分刚做完,以为整个项目已经完成了80%了。只要再调试一下,该进部分算法就可以了,但是实际上绝非如此简单。首先,拿到的小车本身就是坏的,缺少数据线和
8、电源线。然而,这才是问题的冰山一角,在我们将数据线和电源线旱好以后,接到了实验室的主机烧自检程序。却发现车子动都不动,而且奇怪的是电脑也可以检查到芯片,而且可以把程序烧进去,但是就是不动。起初我们以为是驱动部分的问题,但检查下来完全和图纸一样,而且电机也是好的。然后我们想到了L298N,这款芯片是控制电机的。但是我们换了另一组的单片机模块(就是上面的电路板),却发现可以正常运行selftest了。这也使我们把问题集中在了上面一块芯片。按理程序可以写入,应该芯片是不会有问题的,所以我们首先检查了电路和与下面电路板的接触问题,在确定所有电路都正确后,我们最后把问题的关键聚焦在了AT89S52芯片上
9、。果不其然,最后是我们的AT89S52芯片有问题。在换取了一块AT89S52芯片之后,我们的终于可以正常工作了。(二) 遇到的第二个和硬件部分有关的问题是轮胎的打滑问题,这个问题相对比较好解决,我们在轮胎上加了两圈橡皮筋就成功克服了如上问题。关于左右轮转向速度不同的问题,我们是通过软件的控制来改进的,具体就是更具左右转速的不同,来安排左右转弯的次数(既同一转向指令运行不同次数),以此来达到顺利专项的目的。3. 软件部分工具:OpenCV、 VC+。主要流程: 1摄像头获取原始图像,图像矩阵化2透视变换得到迷宫俯视图3分析迷宫结构4指定入口出口,计算最短路径5摄像头实时捕捉小车位置,与计算路径相
10、比较,并通过串口自动向小车发送调整指令6小车最终到达出口3.1 图像处理3.1.1 原始图像利用OpenCV的cvQueryFrame函数从摄像头获取原始图像。OPEN CV模块如下图所示 CVHighGuiCXCORE其中:CV:图像处理、视觉算法CXCORE:基本数据结构、运算HighGui:GUI,图像、视频接口所实现的图像处理过程如下: 包括以下注意点:光源亮度要足够、均匀成像的投影关系镜头聚焦使整个场景清晰3.1.2 透视变换迷宫路线计算和小车位置判断都基于透视变换后的俯视图,OpenCV提供了透视变换的函数WarpPerspective,该函数按照指定变换矩阵进行变换,而变换矩阵由
11、GetPerspectiveTransform从变换前后两个图像中的4个对应点计算出来。需要注意的是摄像头摄取的图像时反的,运用透视时要把图像纠正过来。3.1.3 迷宫结构分析迷宫的分析可以通过“测试线”进行:矩形可看作迷垂直方向的宫壁,而红色细线即为其“测试线”(类似的,水平方向迷宫壁的“测试线”为垂直方向)。将迷宫等分为8*8的小块,则“测试线”应设置在每小块周围的4个迷宫壁的中垂线位置。通过判断“测试线”上迷宫壁的像素个数,可以推断出该“测试线”是否跨越了一个迷宫壁,从而得到整个迷宫的结构。右上方窗口为透视变换后的实时图像,蓝色的网格线将迷宫等分为8*8的小格。左侧窗口为调解图像感光度的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 实现 小车 计算机控制 走出 迷宫 功能 系统 报告