基于FPGA的无线控制小车的设计与实现毕业论文
2020-04-10 16:04:45
摘 要
人类对智能机器人的研究已经有了很长的历史,早期的智能机器人仅应用于航空航天领域,随着传感器技术,芯片以及控制算法的飞速发展,智能机器人已经应用在军事、农业、工业、医疗等方面,也正在走进我们的生活中。在智能机器人的众多分支中,智能小车是其中的典型代表,智能小车相对于其他的智能机器人来说,具有更加灵活,活动范围更大,对环境的适应能力更强,性价比高,操作更加方便,可靠性高,功率小的优势。而无线控制技术也成为当今智能化设备的基本功能,因此一款无线控制的智能小车成为当今社会的一大需求。
本文提出的设计方案是基于FPGA实现智能小车的无线控制以及实现红外线传感循迹,超声波避障等功能,相比于ARM与单片机,FPGA运行速度更快效率更高,使用 FPGA 开发板能实现系统的软硬件协同控制,提高系统集成度,节省其他硬件资源。该设计方案采用小车底盘作为载体,直流减速电机作为执行单元,ZYBO开发板作为主控单元,并通过vivado,SDK等软件结合程序对小车整体进行调试,最后将ZYBO开发板与小车载体通过I/O接口与小车载体以及红外传感模块,超声波模块相连接,实现开发板对各模块的控制。
通过实验证明,基于FPGA智能小车运行良好,可以实现无线控制,避障,循迹等功能,并且运行良好。
关键词:智能小车,无线控制,避障,循迹,FPGA,vivado
Abstract
Human has a long history of research on intelligent robots. Early intelligent robots were only used in the aerospace field. With the rapid development of sensor technology, chips, and control algorithms, intelligent robots have been used in military, agriculture, industry, and medical applications. In other areas, we are also entering our lives. In many branches of intelligent robots, smart cars are typical representatives of them. Smart cars are more flexible, have a wider range of activities than other intelligent robots, have stronger adaptability to the environment, and are more cost-effective and easier to operate. High reliability and low power. Wireless control technology has become the basic function of today's intelligent devices, so a wireless control of smart cars has become a major demand in today's society.
The design scheme proposed in this paper is based on FPGA to realize the wireless control of smart car and realize the function of infrared sensor tracking and ultrasonic obstacle avoidance. Compared with ARM and SCM, FPGA runs faster and more efficiently. It can be realized by using FPGA development board. The system's software and hardware cooperation control, improve system integration, save other hardware resources. The design scheme adopts a car chassis as a carrier, a DC gear motor as an execution unit, a ZYBO development board as a main control unit, and through vivado, SDK and other software combined programs to debug the entire car, and finally the ZYBO development board and the car carrier through I/. The O interface is connected with the trolley carrier, the infrared sensing module, and the ultrasonic module to realize the control of each module by the development board.
Through experiments, the smart car based on FPGA is running well, and it can realize functions such as wireless control, obstacle avoidance, and tracking, and it runs well.
Key Words: smart car, wireless control, obstacle avoidance, tracking, FPGA, vivado
目录
第1章 绪论 1
1.1课题研究背景及意义 1
1.2 FPGA以及无线控制小车发展现状 2
1.3研究的主要内容 4
第2章 系统硬件结构设计 5
2.1小车系统结构设计 5
2.2主控单元设计 5
2.3外围单元设计 6
2.3.1电源单元 6
2.3.2驱动单元 7
2.3.3外设单元 7
2.4本章小结 9
第3章 系统软件设计 10
3.1硬件平台搭建 10
3.1.1 在vivado中创建ZYNQ嵌入式系统 10
3.1.2基于ZYNQ的用户IP核设计 11
3.2构建嵌入式Linux系统 13
3.2.1 必备文件的准备 14
3.3.2 SD卡的设置以及应用程序 15
3.3 SDK应用程序 16
3.3.1外设参数获取程序 18
3.3.2避障程序 19
3.3.3循迹程序 20
3.4 本章小结 22
第4章 实测与应用评价 24
4.1 SDK应用程序实测 24
4.2 嵌入式Linux系统搭载 26
第5章 总结与展望 28
5.1总结 28
5.2 展望 28
参考文献 29
致 谢 30
第1章 绪论
1.1课题研究背景及意义
我国科学技术发展在进入21世纪以来发展势头迅猛,科技的飞速发展和以前的失败经历告诉我们落后就要挨打,不能闭门造车,我们将视野从局限于国内的发展拓展到全世界范围。在这样的大趋势下,产品智能化及安全问题逐渐走进人们的视野,智能机器人的研究也就越来越受人重视,目前智能机器人被广泛地应用于军事、工业、农业,家居等许多领域,为人类的工作和生活提供了很大的方便,已成为智能化发展的主要方向[5]。在智能机器人中,就包括的智能小车的研究,在军事领域,随着军事技术逐渐向信息化、智能化方向快速发展,智能小车能更有效地代替士兵在核污染、生化污染等严重污染区开展军事侦察、污染物采集及危爆物品处理等危险工作,从而避免人员伤亡。此外,智能小车还能较隐蔽地完成监视、安全巡逻等军事任务,在提升获取信息的精准性和实时性的同时,扩大侦察范围,不仅在军事领域,在生活生产领域,智能小车可以代替人工巡逻,减少人力的浪费,一人可以通过监视器观察多台小车巡检情况,可以代替人力去一些人无法到达的地方进行安全隐患的排查,如使用摄像头观察是否有火灾以及其他安全隐患,加红外传感器监测是否有发生火灾,对一些较为特殊的场地还需检测其湿度,温度,大气压,气体浓度等等指标。而智能小车相对于其他的智能机器人来说,具有更加灵活,活动范围更大,对环境的适应能力更强,性价比高,操作更加方便,可靠性高,功率小的优势。
而无线控制的智能小车的应用领域涉及到社会生产、生活中方方面面,使得设计一款无线控制的智能小车具有很强的现实意义:
- 军事应用,代替士兵勘察核污染、生化污染等严重污染区开展军事侦察、污染物采集及危爆物品处理等危险工作。
(2)物流运输,在自动仓库、码头等物流部门也起着关键作用,适用于人类无法或不宜劳动的工作环境替代人力,节省人力资源且提高效率。
(3)地质勘探,代替人力前往人所无法到达的地形进行地质勘探,提高研究人员的安全指数,并且可以进行安全检测和风险评估。
(4)自动驾驶,智能小车的设计理念可以在未来用到汽车的自动驾驶算法上,为自动驾驶技术的发展提供模拟的平台。
(5)智能家居,智能小车的灵活便利让其在添加了更多外设后可以协助人类完成家务劳动,如自动扫地机器人等的应用。
1.2 FPGA以及无线控制小车发展现状
自从1984年美国Xilinx公司率先发明FPGA(用户现场可编程门阵列)的概念以来,即Field Programmable Gate Array的缩写,它是在PAL、GAL、CPLD等可编程器件上进一步发展的产物。经过70年的发展,FPGA技术已经越发成熟,不断发展,已由当初1200门发展成为今天的百万门级,随着FPGA技术的飞速发展,其工业化产品也变得越拉越多,用途也越来越广,如本文设计方案中所用到的ZYBO开发板,FPGA是采用了LCA(Logic Cell Array)的一个全新的概念,内部包括可配置逻辑块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Inter Connect)三个部分。其基本特点设计ASIC电路无需大量生产也可得到合适的芯片并且可用FPGA全定制或半定制ASIC电路中的试样片,FPGA同样拥有丰富的触发器和I/O接口,使其的拓展变得灵活多变,FPGA的设计周期短、开发成本低并且风险是最小的[6]。
FPGA技术要求用户现场自行完成用户系统的逻辑设计,综合仿真和器件功能的物理实现,因此,用户不仅要对器件的可编程原理、逻辑资源有着完整的了解,更需要掌握新的设计方法和工具的使用。并且,方法和工具的的使用手感直接影响用户体验,对新手是否友好,需要需要很强的基础知识,都决定了产品设计的周期和效率。所以,在这样的市场环境的要求下,软件设计公司和FPGA设备制造公司开始合作设计更适合用户自行使用的设计软件,促进了FPGA应用设计工具的优化,方法的更新,主要反映在:主要的EDA工具中,均开设了FPGA设计软件包,建立了多种FPGA应用设计的接口,使用户可以自行在设计软件中找到对应的元件库和设备,如在本次设计中用户自行设计的IP核就是基于了Xilinx公司提供了许多已有的IP核,很容易借助于现有的EDA工具,来从事用户自己的FPGA应用设计。1995年以来,世界上流行的EDA系统工具,诸如SYNOPSYS、CANDANCE、MENTORGRAPHIC、VIEWLOGIC、ORCAD等系统,而在本方案的设计中,使用vivado进行FPGA的仿真设计。
发展至今,ARM与单片机的开发平台能够完成的,FPGA一般都能完成,并且运行速度更快效率更高,使用 FPGA 开发板能实现系统的软硬件协同控制,提高系统集成度,节省其他硬件资源,因此使用基于FPGA的硬件平台开发小车,使得小车更高效便捷,并且相比于基于ARM的小车,其外设只能固定,基于FPGA的小车的外设挂载更加灵活,因此FPGA技术越来越被大家所认识,而基于FPGA的无线控制小车也逐渐成为智能小车设计中的重要参考方向。而本设计使用的ZYNQ芯片即包括传统的PI(programmable logic)即FPGA部分,也包括双核ARM即PS(processing system),其最大的特点是利用PL部分灵活定制的外设,挂载在PS上,而普通的ARM,外设是固定的,因此这样的特点赋予了智能小车更大的发展前景和潜力,因此使用ZYNQ芯片可以降低设计成本,设计整体功耗降低,设计体积减少,设计风险降低以及更灵活的设计。并且现在一部分工业、民用的智能小车存在以下一些问题,首先控制操作复杂,很多小车的控制结构复杂,造成对人力要求较高的要求,增加了成本,并且系统功能单一,一些同类的小车功能单一,针对不同的应用对象需要设计不同的小车,造成应用范围很局限,其次系统开发复杂,同类小车功能单一,在设计中需要许多外围电路,可靠度大打折扣,而基于FPGA的智能小车可以很好的解决上述的问题[4]。
而除了基于FPGA的小车,早在上个世纪50年代,国外的一些发达国家就捷足先登,依靠国内丰厚的资本开始了智能小车领域的研究,近些年来,随着世界经济的全球化,其他很多发展中国家也开始了智能小车领域展开研究,很多成功的研究成果已经应用于各个领域,特别是在探测和军事领域有更多的应用,1954年,世界上诞生了第一辆自主引导车辆系统,该系统是一个拖车式运货平台,能在一条固定线路上运行,虽然其结构简单,但它最基础的特征就是无人驾驶,虽然智能化程度非常低,但也可以称其为无人驾驶智能小车的最初模型,为人们研究智能小车开创了先河,而上个世纪80年代中后期,是世界上主要发达国家在智能小车研究领域取得最卓越成就的时期,1959年至1976年期间,前苏联成功向月球发射了两个探测车,首次将智能小车的应用推向宇宙,1986年,欧洲也开始涉足并重视智能小车研究领域,开始了普罗米修斯计划,1995年,美国的国家自动高速公路联盟是美国研究的主力军,1996年,处于飞速发展阶段的日本也开始涉足智能小车领域,在上个世纪九十年代,依靠当时经济世界第二的雄厚资本对智能小车展开深入、全面的研究,1997年,美国自主研制的火星探测机器人成功登上火星,震惊世界,后来又在该基础上进一步研制成功了Rocky7,实现了在火星上长距离探测,并成功完成了一些技术性很强的实验,至今,现在智能小车的发展已经涵盖了越多越多的领域,而国内由于技术等限制,对智能小车的研发起步更晚,但是发展势头非常迅猛,我国对智能小车的研究始于十九世纪八十年代末,1992年,国防科技大学成功研制了国内第一辆无人驾驶汽车,除此之外,智能小车在中国的发展非常可喜并且有着广阔的市场[5]。
并且为鼓励有更多人参与到该领域的研发推动技术的进步,国内外都举办很多智能小车的比赛,在美国,国防部长期与高校科研院及企业联合举办智能汽车竞赛,其目的是为了激励更多群体投入到智能汽车的研发中,在韩国,汉阳大学汽车控制实验室和飞思卡尔半导体公司长期联合举办大学生智能汽车模型竞赛,该比赛中的汽车以HCS12单片机为控制核心,比赛要求各队伍制造出一辆具有自动路线识别功能的智能小车,并让小车在该专用跑道上完成道路自动识别行驶任务,在国内,智能车辆竞赛与数学建模大赛、机械设计大赛、电子设计大赛一起被指定为教育部承认的五大大学生竞赛项目,足以见得国家对智能汽车发展领域的重视,清华大学、上海交通大学、电子科技大学等多所国内高校长期参加该竞赛并取得良好成绩[4]。在全球范围内,智能小车领域的研究和发展都在稳步前进中,因此我决定以将智能小车的设计及应用作为我的毕业设计。
1.3研究的主要内容
本设计采用的是Xilinx公司生产的ZYNQ芯片,是Xilinx公司推出的行业第一个可拓展处理平台,ZYNQ将双核ARM嵌入FPGA内,可以利用其双核ARM运行操作系统,进行界面和通信设计,利用ZYNQ的FPGA部分进行并运算和接口拓展设计,从而简化设计难度和复杂度,因此小车具有两种启动方式,一种是SD卡启动,一种JTAG通过串口烧制程序启动,在设计中,小车通过识别SD卡搭载Linux操作系统,我们使用电脑通过internet访问智能小车上的web服务器,网页上会显示它的主页(该网页的设计由Xilinx公司提供),在网页上点击各个控制按钮,通过该方式小车接收到信息可以自由移动并且在网页可以看到小车的摄像头传回的视频。
本文的主要章节的安排是在第1章绪论中对该研究的目的和意义进行阐述,并且介绍了FPGA技术与智能小车的发展趋势,第2章开始对设计内容进行阐述,首先对方案的硬件部分的设计进行了介绍,主要分为系统结构设计,主控单元、驱动单元以及外设单元的设计,第3章对方案的软件设计部分进行介绍,主要是用户自定义IP核的设计,Linux系统搭载所需文件以及SDK应用程序的编写,第4章对实测结果进行分析。第5章对本文方案做出总结并且对无线控制小车未来发展前景做出展望。
本文的主要研究内容:
- 研究了智能小车系统的硬件构成,在ZYNQ芯片的基础上挂载各种外设。
- 研究了如何在ZYNQ平台上利用PS部分使用虚拟机搭载Linxux操作系统。
- 研究了如何通过vivado和SDK软件编写代码实现对小车外设的设置和参数获取。
- 对系统进行调试,给出测试结论。
系统硬件结构设计
本文设计所用的硬件平台ZYBO开发板是Xilinx公司推出的行业的第一个可拓展处理平台,将完整的ARM Cortex-A9 处理器片上系统与28nm低功耗FPGA器件集成在一起,即将开发板的PS和PL资源结合,并通过操作系统结合小车的ESSID,实现对小车的无线控制,通过PS部分资源拓展外设实现循迹和避障功能。
2.1小车系统结构设计
本文所用设计方案要实现智能小车的功能是电脑端通过连接小车ESSID,登录小车网络IP地址使用网页对小车进行操控,能操控小车的自由移动,停止,摄像头视频以及外设参数的获取。
图2.1 系统结构框图
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: