激光导航运载机器人

上传人:651f****hhh 文档编号:156654483 上传时间:2022-09-27 格式:DOCX 页数:111 大小:407.91KB
收藏 版权申诉 举报 下载
激光导航运载机器人_第1页
第1页 / 共111页
激光导航运载机器人_第2页
第2页 / 共111页
激光导航运载机器人_第3页
第3页 / 共111页
资源描述:

《激光导航运载机器人》由会员分享,可在线阅读,更多相关《激光导航运载机器人(111页珍藏版)》请在装配图网上搜索。

1、上海大学本科学士学位毕业设计论文激光导航运载机机器人运行环环境和引导环环境的中文动动态画面输入入软件作者:查嵩炜学号:991003666专业:计算机科科学与技术指导老师:朱 颖目录摘要AGV 系统是是集光,机,电电,计算机与与一体的高新新技术,是柔柔性化,智能能化程度极高高的输送系统统,可广泛应应用于生产线线、仓库、商商场、机场等等物资运输场场所。自从AAGV 问世世以来,各种种各样的制导导方式相继被被用在AGVV上,这些制制导方式可归归纳为固定线线路和非固定定线路两类。目目前在工业上上实用的制导导方式主要有有下面几种:固定路线(磁磁性、光学、电电磁感应)。非非固定路线激光扫描描。随着生产产力

2、和工业自自动化水平的的日益提高,物物流系统中所所蕴藏的巨大大潜力将越来来越引起人们们的重视,开开发物流潜力力,提高生产产的总体效益益已经成为现现代化生产的的重要标志之之一。AGVV系统可划分分为两个组成成部分,上位位机模块确定运载载小车的行为为,并提供监监控服务;下下位机模块实施对运运载小车的物物理控制。本系统是基于WWindowws平台,运运行于上位机机的软件系统统,采用VIISUAL BASICC 6.0编编写,实现了了对运载小车车运行环境、行行走轨迹的实实时创建、修修改和管理。使使AGV系统统变得更科学学、合理、方方便,提高了了企业的管理理效率。同时时为了使系统统的使用者能能够方便得使使

3、用软件,系系统的用户界界面简单、明明了、美观大大方、容易操操作使用。通过对软件系统统从无到有,逐逐渐建立起来来的过程的介介绍,读者还还可以体会到到采用软件工工程思想的必必要性以及用用类的思想创创建软件的优优越性。ABSTRACCTThe AGVV systtem iss a neew tecchnoloogy whhich ccolleccted oopticss, macchine, elecctriciity, ccomputter, aand iss a fllexiblle, haas exttremelly higgh inttelliggent ddegreee convveyer

4、 systeem. Itt can be appply tto thee goodds andd mateerialss trannsportt fiellds exxtensiively, suchh as pproducction line, wareehousee, marrket aand aiirportt etc.Since the AAGV syystem comess out, variious gguidannce waays arre useed on it inn succcessioon. Thhese gguidannce waays caan be summeed

5、up for ttwo kiinds, the rregulaar cirrcuit and nnon-reegularr circcuit. At prresentt, twoo kindds of guidaance wway unnder ppractiical uused iin thee induustry are: Regullar rooute (magneetic, opticcs, ellectroomagneetic iinducttion); Non-regullar rooute-Laserr scannning. Improvve dayy by dday wiith

6、 prroducttivityy and indusstriall autoomatioon levvel, mmateriial fllow syystem contaained enormmous ppotenttialitty cattch peeoples eyee. Devvelopiing thhe matteriall floww poteentiallity, the ooveralll bennefit of immproviing prroducttion hhas allreadyy becoome onne of the iimporttant ssign oof mo

7、ddern pproducction. AGV syystem can bbe divvided into two ccomponnents, goess to tthe loocatioon macchine modulle -CConfirrm thaat carrries the bbehaviior off the car, and ooffer serviice off conttrolliing; GGo to the llocatiion maachinee moduule -Contrrol phhysicss whicch carrries the ccar. This ss

8、ystemm is bbase oof Winndows platfform, run oon thee ?, develloped by VIISUAL 6.0 BBASIC. Reallize tto carrry caar runnning envirronmennt, waalk thhe esttablisshing, fix and mmanagees in real time of orrbit. Make TThe AGGV sysstem bbecomee moree scieence, ratioonal, conveenientt and also improove th

9、he effficienncies of maanagemment oof entterpriises. At thhe samme timme, inn ordeer to make the uuser wwho usses thhis syystem can uuse sooftwarre so conveenienttly, tthe syystemaatic uuser iinterfface iis simmple, clearr eleggant iin apppearannce annd eassy to operaate annd usee. Throughh the intr

10、ooductiion off the coursse of the ssoftwaare syystem estabblishiing, RReaderr can also realiize thhe neccessitty of usingg softtware enginneerinng andd the advanntage of ussing cclass to esstabliish sooftwarre sysstem.l 关键词n AGV 系统n 制导方式n 激光扫描n 上位机n 下位机第一章绪论1.1什么是是AGV系统统AGV是自动导导引小车(AAutomaated GGuid

11、edd Vehiicle)的的英文缩写。根根据美国物流流协会定义,AAGV是指装装备有电磁或或光学等自动动导引装置,能能够沿规定的的导引路径行行驶,具有安安全保护以及及各种移载功功能的运输小小车。 AGGV是现代物物流系统中的的关键设备之之一,它以电电池为动力,非非接触导引,根根据实际需要要可配备不同同的移载机构构,完成相应应的操作任务务。1.1.1 AGV系统的组组成在大体上,AAGV系统可可划分为两个个主要的组成成部分:上位位机模块和下位机模块块。上位机模块主主要由图形监监控系统、控控制系统、无无线通信系统统和信号采集集系统构成,确定运载小小车的行为,并并提供监控服服务;下位机机模块主要由

12、由运载小车、导导航系统和自自动充电系统统构成,实施对运载载小车的物理理控制。下面面的图中展示示了各个系统统之间的关系系:图形监控系统控制系统无线通信系统信号采集系统运载小车导航系统自动充电系统上位机下位机1.1.2 AGV系统的工工作原理AGV在其运行行区域内,规规定有通信区区和非通信区区。在通信区区域内,AGGV通过其车车载通信装置置与系统控制制计算机通信信,报告其位位置及状态,并并接受高度和和工作指令。在在非通信区域域内,AGVV按照小车控控制器中的预预定程序独立立行驶,不与与系统控制计计算机发生联联系。其工作过程为:当接收到货货物搬运指令令后,小车控控制器就根据据所存储的运运行地图和AA

13、GV 当前前位置及行驶驶方向进行计计算、分析,选选择最佳的行行驶路线,通通过驱动放大大器自动控制制AGV的行行驶和转向,到到达装载货物物目标点准确确停位后,移移载机构动作作,完成装货货过程。然后后AGV起动动,驶向目标标卸货点,准准确停位后,移移载机构动作作,完成卸货货过程,并向向控制计算机机报告其位置置和状态。随随之AGV起起动,驶向待待命区域。接接到新的指令令后再作下一一次搬运。AGV行驶过程程中,车上的的导航系统不不断地从导航航设施中获得得数据,由定定位计算机算算出AGV 当前在全局局坐标系中的的X、Y坐标标,和当前行行驶方向与该该坐标系X轴轴的夹角,实实现准确定位位和定向。1.1.3

14、导航自从AGV问世世以来,各种种各样的制导导方式相继被被用在AGVV上,这些制制导方式可归归纳为固定线线路和非固定线路路两类。目前前在工业上实实用的制导方方式主要有下下面几种:固固定路线(磁磁性、光学、电电磁感应)。非非固定路线激光扫描描。激光扫描描技术是瑞典典NDC公司司于90年代代初研制成功功的一项技术术。由于它的的先进性,突突出的灵活性性和适应性,完完备的功能保保障和技术支支持,已被世世界许多AGGV生产厂家家所接受。激光导航的原理理利用激光的的不发散性对对运载机器人人所处的位置置进行精确定定位来指导机机器人行走。激激光头是安装装在运载机器器人顶部的一一台设备,每每隔数十毫秒秒旋转一周,

15、发发出的激光束束是经过调制制的,具有很很强的抗干扰扰的能力。在在收到经特制制的反射板反反射光时,经经过解调,即即可得到有效效的信号。激激光头的下部部有一个角度度数据的编码码器,计算机机可以及时读读入当时收到到反射信号时时激光器的旋旋转角度。在运载机器人的的工作场所预预先安置了具具有一定间隔隔的反射板,其其坐标预先输输入了计算机机。激光头坐标点和和车体倾斜角角的计算见下下图:在激光器扫描一一周后,可以以得到一系列列反射板的反反射角,如选选取其中三个个反射角(如如上图),则则有可供计算算的三点坐标标和二个夹角角,经过计算算机计算,即即可算得激光光旋转中心的的坐标。同时,根据以上上数据,亦可可算出车

16、体激激光旋转头的的零度角相对对于X轴的夹夹角,即为倾倾斜角。1.1.4 激光导航小车系系统的组成激光导航小车(LGVV:Laseer Auttomatiic Guiided VVehiclle)是采用用激光作为导导航系统的AAGV系统。激光导航小车由由下面几个部部分组成:处于核心位置的的主控制器;伺服驱动器、手手动控制器、驱驱动转向系统统;底盘系统、车体体系统、装载载系统、电源源系统、安全全防撞系统;激光扫描器、无无线电通信装装置;主控操作面板。这些系统设施之之间的关系如如下图所示:由于激光导航航小车系统与与其它的AGGV系统仅在在导航方式上上有所不同,因因此其上位机机部分并没有有发生太大的的

17、变化,仍然然由图形监控控系统、控制制系统、无线线通信系统和和信号采集系系统构成。激光导航与其他他引导方式的的技术优势对对照表:项 目目LGV激光导航航AGV (电磁磁、磁、光)引导沿引导线的测定定位精度精度高,1CCM。是连续的绝对地地址。精度低。靠磁钢和其它传传感器定位补补充,间断不不连续。对引导线的偏差差距离测试精度高,1CCM。精度低,35CM。易受环境干扰。车体倾斜角测试试精度高,2度。车体纠偏角测试试精度高,1度度。估算精度很低,10度。行进路线设置简单方便。预贴反射板后,软软件可设置行行进路线,并并可随时更改改。复杂,工程大,不不易更改。电磁:地下预埋埋。磁:地面预贴,易易吸引其它

18、铁铁磁物体。光:地面预贴,易易受色污染。岔道设置简单方便。软件设置,并可可随时更改。复杂,工程大。电磁:分频引导导磁:没有好的解解决方法光:分色引导,增增加滤色镜,系系统复杂程序启动时的自自适应可以实行开机自自适应初始化化。不能进行。必须手动输入初初始位置。探测设备单一探头系统,维维修方便多探头、多方式式系统,维修修复杂。抗干扰抗干扰能力强。可采用激光调制制解调技术。抗干扰能力弱。走行运动精度高,1CM。较低,3CMM。1.2 课题的来源与意意义课题“运行环境境和引导环境境的中文动态态画面输入软软件”来源于上海富富洋科技发展展有限公司。上海富洋科技发发展有限公司司原隶属于上上海太平洋化化工集团

19、溶剂剂厂技协。上上海太平洋化化工集团溶剂剂厂是国家大大型企业、国国家二级企业业,经过企业业改革,重组组后富洋科技技公司属民营营企业,是经经上海市科学学技术委员会会批准,专门门从事物流输输送的科工贸贸一体化专业业公司。公司司虽小但起点点高,依托与与上海电气自自动化研究所所、上海交大大、上海大学学、北京科大大等高校、研研究所的技术术合作,开发发成功有轨无无人电动车新新闻纸全自动动输送系统、彩彩色集中全自自动供墨系统统、运载机器器人(AGVV)暨物流自自动控制系统统等产品,已已推广使用。其其中插腿式式运载机器人人达到九十十年代国际先先进水平。该公司为上海新新民晚报报业业集团、杭州州日报报业集集团、北

20、京日日报报业集团团,开发的有轨无无人电动车新新闻纸自动输输送系统已正正常使用多年年;广州羊城晚晚报报业集团团、青岛日报报报业集团无无轨运载机器器人新闻纸自自动输送系统统也投入生产线线并正常运行。目前,公司正致致力于对LGGV系统的研研究和开发,整整个项目由以以下11个部部分组成:a) 国产(高抗干扰扰型)旋转激激光头的研制制和生产b) 激光导航的基本本工作方法和和测试各反射射板的测试原原理。c) 激光发生接收器器的电路光路路和机械结构构。d) 坐标、引导角、偏偏移量的快速速计算数学模模型。e) 激光导航运载机机器人车运行行状态控制的的软件方法f) 激光导航运载机机器人过引导导线岔道的软软件控制

21、方法法。g) 程序启动时或记记忆丢失时的的运载机器人人坐标的智能能模糊判断h) 非对称性场景设设置研究i) 激光导航与原电电磁引导运载载机器人及系系统的接入和和改造问题j) 运行环境和引导导环境的中文文动态画面输输入软件k) 激光导航运载机机器人在工业业上的实际应应用问题。可以看到,“运运行环境和引引导环境的中中文动态画面面输入软件”是整个LGGV系统中一一个很重要的的组成部分。软件系统工作于于上位机模块块,作为图形形控制系统,并并拥有部分图图形监控功能能。采用Wiindowss流行的图形形操控方法达达到LGV系系统的路径初初始化设置,轨轨迹路径的实实时修改、发发送、保存,用用图形化的方方式展

22、示整个个工作环境等等目标。使得得LGV系统统的操作人员员能够方便快快捷准确无误误地生成、更更改、查询、删删除自动导航航小车的行为为状态。1.3 国内外研究的现现状激光导引技术是是瑞典NDCC公司于900年代初研制制成功的一项项技术。由于于其先进的指指标和性能,突突出的灵活性性和适应性,完完备的功能保保障和技术支支持,已被世世界许多AGGV生产厂家家所接受。到到目前为止,已已有上百个AAGV系统的的近千辆激光光导引小车投投入商业运行行。应用领域域涉及汽车、电电子、造纸、医医药、烟草、冶冶金等多种行行业。思想新新颖,技术先先进,方法科科学,性能优优良,功能完完善,是奠定定其在AGVV领域世界领领先

23、地位的基基本条件。而激光导航运载载机器人国外外近几年刚研研究开发,以以瑞典NDCC公司的技术术为主导地位位,其他国家家如日本村田田机械、大福福公司、奥地地利、德国等等国家在不同同领域使用的的,其技术主主要也是引进进瑞典NDCC公司。我国目前有个别别高校(如哈哈尔滨工业大大学)也在研研究,但都没没有形成产业业化。昆明船船舶研究所引引进瑞典NDDC公司的激激光导航技术术,应用在AAGV上组成成系统,目前前在烟草加工工业推广应用用,一台运载载机器人要价价60多万,一一套系统6000多万,因因其成本售价价高,使大多多数用户用不不起。沈阳新新松公司(原原属中科院沈沈阳自动化研研究所)也研研制成功了AAG

24、V , 在汽车装配配线推广使用用 。根据调调查也在进行行开发激光导导航的技术,至至今未见产品品面市。有些些厂家为了抢抢占市场,提提前打出广告告造声势,但但现阶段国内内市场还没有有自主技术开开发的激光导导航机器人产产品。由于激光导航运运载机器人目目前国内还没没有产品,运载机器人人物流自动控控制系统目前前国内只有两两家企业刚投投入生产。昆昆明船舶研究究所:其激光光导航技术是是依靠引进瑞瑞典NDC公公司的技术,知知识产权属于于瑞典公司,其其运载机器人人和配套系统统造价很高;沈阳自动化化研究所研制制的运载机器器人是采用电电磁感应制导导技术。以上上两单位都是是国家部级支支持资助的特特大工业生产产企业。我

25、们们国内目前虽虽然个别院所所也在研究开开发激光导航航这类项目,但但真正形成产产业化的还没没有。上海富洋科技发发展有限公司司力争在短期期内研制开发发出具有自主主知识产权的的激光导航运运载机器人并并形成产业化化生产,争创创国内一流、国国际先进。国内现状国外现状1. 引进技术推广2. 研究开发阶段技术成熟,大量量使用国内发展趋势国外发展趋势市场需求大有发发展前景用户发展迅速,觊觊觎国内市场场本章小结本章首先对AAGV系统的的概况进行了了介绍,并介介绍了新兴的的采用激光进进行导航的AAGV系统LGV系系统。然后,通通过对上海富富洋科技发展展有限公司LLGV项目的的介绍,引出出了论文课题题“运行环境和和

26、引导环境的的中文动态画画面输入软件件”的来源。第二章系统主主体分析2.1 系统的目标系统的目标就是是要对问题予予以定义,“要解决的问问题是什么?”。如果不知知道问题是什什么就试图解解决问题,显显然是盲目的的,最终得出出的结果很可可能是毫无意意义的。通过问题的定定义,应该得得到问题的性性质、目标和和规模等书面面报告。2.1.1系系统的要求激光导航运载机机器人要求在在工作环境中中能自动判别别自身位置,能能根据上位机机指令识别运运行路径和目目的地。首先先要把全部工工作场景输入入计算机:场场景尺寸、激激光反射板位位置和数量、路路径线形与数数量。以上信信息输入计算算机形成文件件通过无线收收发,传输到到下

27、位机,以以便控制机器器人。场景、反射板、路路径能根据不不同工作状态态随时修改,使使得操作方便便容易。设计机器人行走走路径时,能能自动寻找标标志位置,不不同线形平滑滑连接。人机界面友好,画画面美观。2.1.2 系统的技术指标标技术指标:通过过软件,实现现上位机指令令发布,下位位机能按照上上位机指令运运行。2.2 设计思想这里包括了可行行性研究与需需求分析。通通过这些工作作,来确定这这个软件系统统是否“行得通”,以及“必须具备哪哪些功能”。2.2.1 可行性研究对于系统的可行行性分析首先先必须对系统统目标进行全全面地分析,具具体确定工程程的规模、目目标,并估计计系统的成本本和效益,得得出系统是否否

28、要开发的结结论,及时中中止不值得投投资的项目,避避免出现不必必要的浪费。本系统可行性分分析包括三方方面:l 技术可行性“运行环境和引引导环境的中中文动态画面面输入软件”,即本系统统运行于AGV系统统的上位机模模块,该模块块的硬件平台台是基于IBBM-PC及及其兼容机系系列的,拥有有良好输入输输出端口的计计算机系统。其其软件平台采采用的是Miicrosooft Wiindowss 20000操作系统。本系统采用目前前流行的在WWindowws下程序开开发语言Viisual Basicc 6.0编编写。Vissual BBasic 由于功能强强大、简单易易用而有着广广泛的用户,尤尤其是在数据据库、

29、多媒体体、商用系统统的用户界面面以及一般应应用程序的设设计等方面,VVisuall Basiic 更是有有其他开发环环境所不能替替代的优越之之处。l 经济可行性本系统由于采用用了Visuual Baasic 进进行开发,其其图形处理的的强大功能使使得开发周期期大大缩短,系系统开发时间间大约3个月月。l 操作可行性系统大量地采用用了Winddows下的的绘图操作概概念,使得用用户容易上手手,软件简单单易学,大大大提高了软件件使用的效率率。本课题涉及的知知识概括为:l 关于VB的知识识,包括VBB中种类繁多多的控件的使使用l 关于无线MOODERM方方面的书、资资料、技术手手册。了解原原理、开发步

30、步骤。l 关于机器人控控制方面的的书。l 上海富洋科技发发展有限公司司提供的内部部技术资料2.2.2 需求分析需求分析的任务务是对目标系系统提出完整整、准确、清清晰、具体的的要求。2.2.2.11系统的数据据要求本软件系统所涉涉及到的事物物有:场景(场场地)、反射射板、路径。由由这些信息组组合在一起,称称为一个轨迹迹工程。场景是AGV系系统工作的区区域,场景中中将容纳反射射板、路径等等物体。为了了方便AGVV系统的处理理,一个大的的场景(场地地)可以由一一个个小的场场地(子场景景)组成。因此,场景的数数据可以用下下列的信息表表示:场景大小;场景中子场景的的数量n;子场景1的大小小;子场景2的大

31、小小;子场景n的大小小。反射板是用于反反射激光的有有机玻璃板,提提供了AVGG系统的定为为参照。其数据定义为:放射板编号;反射板坐标(xx,y)。路径是由一段一一段的线段连连接而组成的的。目前线段有两类:直线和1/4圆弧。因因此保存路径径时要分为五五种情况才能能正确地保存存数据。其数据定义为:路径段编号;险段类型:分别别有直线、第第一象限圆弧弧、第二象限限圆弧、第三三象限圆弧及及第四象限圆圆弧;起始点坐标(xx1,y1);终止点坐标(xx2,y2);圆心坐标(xoo,yo);半径;斜率;截距。(以上数据的精精度在以“米”为单位是小小数点后1到到7位)要保存一个完整整的轨迹工程程,就需要以以上所

32、有数据据的支持。2.2.2.22系统的功能能描述输入系统:这是是数据输入的的核心。由于于采用的是图图形模式的数数据输入方法法,所以要求求系统能将用户户在屏幕上绘绘制的系统转转换成一定的的数据格式,并并保存起来,形形成文件;同同时输入系统统还要能够从从文件中读取取数据,将保保存起来的数数据恢复成原原来的格式。绘制系统:这是是数据图形显显示的核心。将将输入系统中中的数据应图图形的方式显显示出来,并并能够根据用用户的要求或或者窗口大县县的变化及时时调整图形,按按照一定比例例进行缩放;同时绘制系系统还要为输输入系统提供供必要的坐标标转换参数。输出系统:这是是数据输出的的核心。将输输入系统的数数据显示在

33、一一定的窗口中中,提供用户户统计、查询询、打印等功功能。2.2.2.33系统的数据据流图场地数据路径数据反射板数据保存文件窗口AGV绘制用户操作转换本章小结在这一章中,分分析了激光导航运运载机器人运运行环境和引引导环境的中中文动态画面面输入软件的的可行性,并并通过数据定定义、功能要要求、数据流流模型确定了了软件的需求求。第三章系统设设计本章将介绍软件件系统的总体体设计阶段。总体设计的基本本目的是解决决系统应该如如何实现,其其过程为:首先寻找实现目目标系统的各各种不同方案案,然后分析析员从这些供供选择的方案案中选取若干干合理的方案案,为每个合合理的方案都都准备一份系系统流程图,列列出组成系统统的

34、所有物理理元素,进行行成本效益分分析,并且制制定实现这个个方案的进度度计划。总体设计通常由由两个阶段组组成:系统设设计,确定系系统的具体实实现方案;结结构设计,确确定软件的结结构。3.1 实现方案本系统采用VBB6作为开发发平台,因为为VB6时面面向对象的程程序设计语言言,因此开发发的过程既要要符合过程化化的设计标准准,也要使用用到类的概念念。3.1.1软件件开发遵循的的基本原则严格性和形式式化原则分隔原则模块部件化化原则抽象原则预期变化原则则通用性原则软件复用原原则递增模式原则则3.1.2 过程式软件设计计的基本原理理本节将讲述过程程式软件设计计原理。1 模块化模块是数据说明明、可执行语语句

35、等程序的的集合,它是是单独命名的的而且可以通通过名字来访访问,例如,过过程、函数、子子程序、宏等等等都可以作作为模块。模模块化就是把把程序划分为为若干个模块块,每个模块块完成一个子子功能,把这这些模块集合合起来组成一一个整体,可可以完成指定定的功能满足足问题的要求求。采用模块化原理理可以使软件件结构清晰,不不仅容易设计计也容易阅读读和理解。因因为程序出错错通常局限在在有关的模块块及它们之间间的接口中,所所以模块化使使软件容易测测试和调试,有有助于提高软软件的可靠性性。因为变动动往往只涉及及少数几个模模块,所以也也可提高软件件的可修改性性。2 抽象人类在认识复杂杂想象的过程程中使用的最最强有力的

36、思思维工具就是是抽象。抽象象就是抽出事事物的本质特特性而暂不考考虑它们的细细节。当我们考虑对任任何问题的模模块化解法时时,可以提出出许多抽象的的层次。在抽抽象的最高层层次使用问题题环境的语言言,以概括的的方式叙述问问题的解法;在较低抽象象层次采用更更过程化的方方法;在最低低层次用可以以直接实现的的方式叙述问问题的解法。3 信息隐蔽和局部部化局部化的概念和和信息隐蔽的的概念是密切切相关的。所所谓局部化是是指把一些关关系密切的软软件元素物理理地放的彼此此靠近。隐蔽蔽则意味着有有效的模块化化可以通过定定义一组独立立的模块而实实现。如果在测试期间间和以后的软软件维护期间间需要修改软软件,那么使使用信息

37、隐蔽蔽原理可以带带来极大的好好处。因为绝绝大部分的数数据和过程对对于软件的其其他部分而言言是不可见的的,修改期间间的疏忽而引引起的错误就就很少可能传传播到软件的的其他部分。4 模块独立模块独立是模块块化、抽象、信信息隐蔽和局局部化的直接接结果。为什么模块独立立性很重要呢呢?第一,有效的模模块化的软件件比较容易开开发出来。这这是由于能够够分割功能而而且接口可以以简化;第二二,独立的模模块比较容易易测试和维护护。模块的独立性可可以由两个定定性的标准衡衡量,这两个个标准分别称称作内聚和耦耦合。耦合是是对一个软件件结构内不同同模块之间的的互连程度的的度量;内聚聚标志着一个个模块各个元元素彼此结合合的紧

38、密程度度。一个模块独立性性较高的软件件,应该是高高内聚、低耦耦合的。3.1.3 采用面向对象的的设计方法面向对象的程序序设计方法学学是建立在过过程化、模块块化程序设计计方法学之上上的。在过程程化程序设计计方法的基础础上,面向对对象的设计方方法又添加了了以下概念。1类与对象“类”是对具有有相同数据和和相同操作的的一组相似对对象的定义。也也就是,类是是对具有相同同属性或行为为的一个或多多个对象的描描述,通常在在这种描述中中也包括对怎怎样创建该对对象的说明。对象则是类的具具体化、实例例化。类具有三个特性性封装性;继承性;多态性。一般来说,面向向对象的程序序设计语言应应该支持以上上三个特性。2为什么要

39、使使用类概括地说,面向向对象的设计计方法具有下下述要点:(1) 认为客观世界是是由各种对象象组成的,任任何事物都是是对象,复杂杂的对象可以以由比较简单单的对象以某某种方式组合合而成。(2) 把所有对象都划划分为各种对对象类,每个个对象都定义义了一组数据据和一组方法法。(3) 按照子类与父类类的关系,把把若干个对象象类组成一个个层次结构系系统。(4) 对象彼此之间仅仅能通过消息息传递的方式式进行联系。对象与传统的书书具有本质的的区别,它不不是被动的等等待外界对它它实施操作,相相反,它是进进行处理的主主体,必须发发消息请求他他执行它的操操作,处理它它的私有数据据,而不能从从外界直接对对它的私有数数

40、据进行操作作。也就是说说,一切局部部与该对象的的私有信息,都都被封装在对对象类的定义义中,就好像像装在一个不不透明的黑盒盒子中一样,更更不能直接使使用。因此使用类的面面向对象的方方法学可以做做到:(1) 与人类的习惯的的思维相一致致面向对象的方法法学使用现实实世界的概念念抽象地思考考问题从而解解决问题。它它强调模拟现现实世界中的的概念而不强强调算法,它它鼓励开发者者在软件开发发的绝大部分分过程中都用用应用领域的的概念去思考考。在面向对对象的设计方方法中,现实实世界的模型型才是最重要要的。面向对象的设计计方法的基本本原则,是按按照人们习惯惯的思维方式式建立问题域域的模型,开开发出尽可能能直观、自

41、然然的表现求解解方法的软件件系统。(2) 稳定性好面向对象方法基基于构造问题题领域的对象象模型,以对对象为中心构构造软件系统统。它的基本本做法是用对对象模拟问题题领域的实体体,以对象间间的联系刻画画实体间的联联系。因为面面向对象的软软件系统的结结构是根据问问题领域的模模型建立起来来的,而不是是基于对系统统应完成的功功能的分解,所所以,当系统统的功能需求求变化时并不不会引起软件件结构的整体体变化,往往往仅需要做一一些局部修改改。(3) 可重用性好对象所固有的封封装性和信息息隐藏机理,使使得对象内部部的实现与外外界隔离,具具有较强的独独立性。因此此对象类提供供了比较理想想的模块化机机制和比较理理想

42、的可重用用软件部分。(4) 可维护性好可维护性好体现现在:稳定性好;比较容易修改;比较容易理解;易于测试与调试试。因此使用面向对对象的设计方方法可以提高高目标系统的的可重用性,减减少了软件生生命周期后续续阶段的工作作量和可能犯犯的错误,提提高了软件的的可维护性。3.2 结构设计在本小结中,我我们将根据需需求分析中提提出的要求定定义本系统所所用到的数据据结构,以及及本系统的软软件结构。3.2.1 系统的数据结构构在需求分析中,我我们已经给出出了场景(场场地)、反射射板、路径数数据结构的形形式化定义,这这里将给出使使用类VB语语言的定义:Privatee Typee 场景 gNoo As IInt

43、egeer xo As Siingle yo As Siingle Lenngth AAs Sinngle Widdth Ass Singgle End TyppePrivatee Typee反射板 bNoo As IIntegeer X AAs Sinngle Y AAs SinngleEnd TyppePrivatee Typee 路径 iNoo As IIntegeer eTyype Ass Inteeger x1 As Siingle y1 As Siingle x2 As Siingle y2 As Siingle xo As Siingle yo As Siingle r AAs

44、Sinngle k AAs Sinngle b AAs SinngleEnd Typpe同时,当数据保保存到文件中中去的时候,场景(场地)、反射板、路径数据采用分为三个文件独立保存的方法。然而,由于只有当一个轨迹工程的场景、反射板、路径数据文件都存在并读入系统后,这个工程才是完整的。显然,要求用户选择要读入的文件是不合时宜的,这不仅增加了用户读入选择的次数而且使得系统的危险性和不可靠性增加。因此,设计一个个工程文件来来存放一个轨轨迹工程的场场景、反射板板、路径数据据文件的名称称,用打开这这个工程文件件来读取所有有的数据变得得非常必要。同同时,工程文文件中还能够够保存一些附附加的内容,比比如工程

45、的名名称,创建人人是谁等等。其实,工程文件件的身影随处可见见。就拿VBB开发的源程序项目来讲,其其就是由一个工程文文件vbp和和数个窗口ffrm,类ccls、模块块mdl等文文件构成,通通过打开某个个vbp文件件,就打开了了这个程序项项目的所有文文件。又如VVC开发源程程序项目,也也是通过工程程文件dsww/dsp以以及数个程序序文件.cppp、.h、.res构成成的。参照这这些工程文件件的格式,我我们这里采用用Windoows INNI文件格式式。INI文文件读写方便便,带有一定定的结构特性性,是非常适适合做数据记记录的文件形形式。这里我们将轨迹迹工程的数据据结构定义如如下: sPrrojN

46、amme As Strinng 工程名 sUsserNamme As Strinng 建立工程的的人员名称 sDeetial As Sttring 工程描述 sLCCFNamee As SStringg 保存路径的的文件名 sBBBFNamee As SStringg 保存反射板板的文件名 sGDDFNamee As SStringg 保存场地的的文件名3.2.2 系统的软件结构构(层次图)分析软件的结构构可以使程序序结构清晰,提提高模块化程程度,是编写写有较高模块块独立性的程程序的基础。同同时,在分析析软件结构的的过程,还可可以获得对象象的模型及其其层次。1软件结构图图AGV运行环境和引导环

47、境的输入软件绘制场地直线圆弧反射板添加编辑报表打印工具连接性检查路径探寻(图论)重新编号系统设置删除文件操作创建打开保存导入导出文件帮助实时帮助帮助文件2类的划分由软件的层次次结构图,我我们可以通过过分析分化功功能,得出以以下类。专用类有关于绘制系统统的类,如场场地类、直线线类、圆弧类类、反射板类类。这些类要能够保保存相应的数数据,添加、编编辑、删除信信息,以及完完成读写。保存工程的类,完完成工程信息息的读写。保存软件系统的的设置和状态态,并能够将将其保存起来来。坐标转换,提供供窗口坐标和和物理坐标的的互换。通用类完成文件的读写写的类。完成INI文件件的读写。能够提供Winndows信信息的一

48、些类类。本章小结通过对软件系统统的结构和数数据结构的分分析,我们基基本获得了编编写软件的信信息,为后面面的详细设计计和系统地实实现打下了良良好的基础。第四章系统的的实施系统的实施是是一个软件系系统具体的实实现阶段,这这里将详细介介绍本系统是是如何构成的的。本软件系统采用用基于类的构构造方法进行行建立,所有有的关键算法法到处在类模模块中,做到到系统中类处处于核心状态态,窗口只能能通过调用类类的方法控制制它的行为到到达到所需要要的功能。本章将按照“类类模块窗口”的从核心代代码到外延代代码的顺序介介绍本软件系系统的构成,从中说明为什么要采用模块化设计和面向对象方法进行软件设计的原因。4.1 系统的实

49、现在VB开发系统统中,代码可可以处于三个个部分:窗口口,模块,类类模块。窗口口中的代码主主要的实现窗窗口上的事件件响应;模块块中的代码主主要用来定义义声明一些全全局的变量和和函数;类模模块则是定义义类的地方了了。4.1.1 类模块1 VB中的类在VB中类被称称作“类模块”。虽然VB也可以以使用类,但但它的类与CC/C+中中的类有着很很大的不同。首先,VB并没没有完全支持持类,它仅仅仅提供了对类类“封装性”的支持,无无法完成“继承性”,因此在很很多媒体中都都将VB称作作“基于对象”的程序开发发语言。其次,VB对类类中的成员函函数分为三类类:方法:即普通的的函数;属性:一种特殊殊的函数,既既可作为

50、右值值也可以作为为左值;事件:由操作系系统在特定条条件下调用的的函数。再次,VB中类类的构造函数数不可带参数数,也不可以以重载。因此在使用VBB编写类时,要要特别注意它它的限制和特特点。2 本系统使用到221个类,其其中9个类为为本软件专用用,而其余的的是通用类模模块。专用类CtheAppp记录和保存了程程序的设置和和状态CFY_BafffleBooard保存反射板信息息并绘制CFY_Cirrcles保存圆弧信息并并绘制CFY_DraawItemmDatass保存线段信息并并绘制CFY_Griid绘制网格并计算算网格信息CFY_Groound保存场地信息并并绘制CFY_Linnes保存直线信息

51、并并绘制CFY_Prooject保存工程文件的的信息CFY_VieewTrannsformm通用类CCommanndLinee处理命令行CCommonnDlgCttl用API实现通通用对话框CCirclee圆弧类CFile判断文件存在、获获得文件名等等CGraph有关图论CIniFille操作INI类型型的文件Clines直线类CMRUs处理“已经打开开的文件”CPAutoCConnecct端点捕捉CPointss点CRect矩形CSystemmWindowss系统信息它们之间的关系系是:(AB表示B调调用A;带有有下划线的类类本系统直接接调用)CtheAppCFY_BaffleBoard e

52、BoardCFY_CirclesCFY_DrawItemDatasCFY_GridCFY_GroundCFY_LinesCFY_ProjectCCircleCFY_ViewTransformCFileCIniFileClinesCPointsCRectCCommonDlgCtlCCommandLineCGraphCMRUsCPAutoConnectCSystem类关系图3 下面将按照“类类关系图”中的顺序介介绍各类的功功能,并在必必要的部分介介绍实现的算算法。l CPoint类类提供了关于“点点”的操作。方法:(1)Publlic Fuunctioon GettLengtthBetwween2

53、PPointss(ByVaal x1 As Siingle, ByVaal y1 As Siingle, ByVaal x2 As Siingle, ByVaal y2 As Siingle) As SSinglee目的:计算两点点间距;参数:x1,yy1点1的坐坐标,x2,y2点2的的坐标;返回值:两点间间距。l CCirclee类提供了关于圆弧弧的操作。属性:(1) Public Propeerty GGet VaalueoffPI() As Siingle目的:返回PII值。l CRect类提供了有关矩形形的操作方法:(1)Publlic Fuunctioon InWWorldRRect

54、(BByVal X As Singlle, ByyVal YY As SSinglee, ByVVal Leeft Ass Singgle, BByVal Top AAs Sinngle, ByVall Righht As Singlle, ByyVal BButtomm As SSinglee, Opttionall ByVaal IsIIncluddeBounnd As Booleean = True) As BBooleaan 目的:判断一个个点是否在指指定的矩形框框内(世界坐坐标系,即原原点向上作为为y轴正向);参数:x,y一一个点的坐标标;Leftt,Top,Rightt,Buttt

55、om指定了了一个矩形框框;isInncludeeBoundd是否将当一一个点在矩形形边框上时也也作为在矩形形内。返回值:在矩形形内部返回“真”,否则返回回“假”。(2)Publlic Fuunctioon InWWinRecct(ByVVal X As Siingle, ByVaal Y AAs Sinngle, ByVall Leftt As SSinglee, ByVVal Toop As Singlle, ByyVal RRight As Siingle, ByVaal Butttom AAs Sinngle, Optioonal BByVal IsInccludeBBound As B

56、oooleann = Trrue) AAs Booolean 目的:判断一个个点是否在指指定的矩形框框内(窗口坐坐标系,即原原点向下作为为y轴正向);参数:x,y一一个点的坐标标;Leftt,Top,Rightt,Butttom指定了了一个矩形框框;isInncludeeBoundd是否将当一一个点在矩形形边框上时也也作为在矩形形内。返回值:在矩形形内部返回“真”,否则返回回“假”。(3)Publlic Fuunctioon InWWinRecct_lp(ByVall lpPoointSiingle As Loong, BByVal lpRecctSinggle Ass Longg) As B

57、ooleean这个函数使用用指针操作,参参数传入时应应传入地址 可用VarrPtr()函数目的:同上;参数:lpPoointSiingle一一个点的坐标标结构地址;lpRecctSinggle指定了了一个矩形框框机构的地址址;返回值:在矩形形内部返回“真”,否则返回回“假”。注:有关如何在在中VB使用用指针,将在在后面介绍。l CFY_VieewTrannsformm类实现窗口坐标和和物理坐标的的互换。(有有关概念请参参见CFY_Grid类类的说明)方法:(1)Publlic Suub Worrld2Wiindow(ByVall x1 AAs Sinngle, ByVall y1 AAs Si

58、nngle, ByReff x2 AAs Intteger, ByReef y2 As Inntegerr, ByVVal oxx As IIntegeer, ByyVal ooy As Integger, BByVal iGriddWidthh As IIntegeer)目的:将一个世世界坐标系的的坐标转换为为窗口坐标系系;参数:x1,yy1世界坐标标系中的坐标标值,x2,y2窗口坐坐标系的坐标标值,ox,oy世界坐坐标系原点在在窗口坐标系系中的坐标值值,iGriidWidtth在窗口坐坐标系中,一一个单位的世世界坐标值等等于多少个窗窗口坐标值,也也可认为是网网格宽度。返回:转换后的的值将保

59、存到到x2,y22中。(2)Publlic Suub Winndow2WWorld(ByVall x1 AAs Intteger, ByVaal y1 As Inntegerr, ByRRef x22 As SSinglee, ByRRef y22 As SSinglee, ByVVal oxx As IIntegeer, ByyVal ooy As Integger, BByVal iGriddWidthh As IIntegeer)目的:将一个窗窗口坐标系的的坐标转换为为世界坐标系系;参数:x1,yy1窗口坐标标系中的坐标标值,x2,y2世界坐坐标系的坐标标值,ox,oy同上,iiGridWWidth同同上。返回:转换后的的值将保存到到x2,y22中。(3)Publlic Fuunctioon LenngthWoorld2WWindoww(ByVaal orggLengtth As Singlle, ByyVal iiGridWWidth As Inntegerr) As Integger目的:将一个世世界坐标系的的长度转换为为窗口坐标系系的长度;参数:orgLLengthh世界坐标系系中的长度,iiGridWWidth同同上;返回值:转换后后的长度(4)Publlic Fuunctioon LenngthWiindow22Worldd(ByVaal

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!