C++大作业项目报告.doc

C++大作业项目报告.doc

ID:52775506

大小:240.26 KB

页数:15页

时间:2020-03-30

C++大作业项目报告.doc_第1页
C++大作业项目报告.doc_第2页
C++大作业项目报告.doc_第3页
C++大作业项目报告.doc_第4页
C++大作业项目报告.doc_第5页
资源描述:

《C++大作业项目报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C++大作业项目报告——AGV路径规划与运行仿真软件设计小组成员:日期:2015年6月16日指导老师:15目录C++大作业项目报告1——AGV路径规划与运行仿真软件设计1一、课题背景31.1案例背景31.2问题描述31.3任务目标31.4具体分析3二、系统设计42.1类体系设计42.2类定义及函数描述42.3程序流程图5三、程序重点解析73.1文本文档读入地图信息73.2Dijkstra算法程序设计83.3动态显示部分9四、程序运行结果展示104.1地图文件104.2运行窗口104.3动态显示窗口114

2、.5改变地图,改变AGV参数运行。12五、程序设计小结145.1程序设计的缺陷和不足145.2设计中遇到的困难14六、参考资料15七、源程序及相关文件15八、各小组成员个人报告1515一、课题背景1.1案例背景AGV(自动导引车)由于运动灵活,被广泛用于生产车间物料的搬运。由于单机搬运能力有限,实践中经常需要由多台AGV同时进行搬运。由于AGV一般无法感知全局信息,为避免多AGV发生碰撞并提高AGV搬运效率,多台AGV需要与上位机调度系统进行通信并依据调度指令运行。1.2问题描述在已知AGV运行的地图以

3、及AGV运行速度前提下,采用C++编写单台AGV路径规划的最短路径算法,并动态显示AGV的运行。1.3任务目标针对AGV搬运调度需求开发一套AGV路径规划与运行监控仿真软件,合理规划单台AGV运行路径并动态显示运行轨迹。1.4具体分析由以上介绍可知,AGV在工业生产中有着很广泛的应用,对AGV导引程序的研究是有着很强实际意义的。要完成一个完整的AGV路径规划程序,就要考虑地图,AGV,和路径三个方面的问题。而其中,路径又是最为重要的。本程序要求仿真显示,所以显示部分也是重点。若制作多台AGV的路径规划程

4、序,还应当考虑到路径的重叠,以避免碰撞产生。15二、系统设计2.1类体系设计包含了两个基类CFixedMap和CAGV,一个单一继承的派生类CPathPlan和一个多重派生类CAGVShow。2.2类定义及函数描述各个类的成员以及成员函数的作用如注解所示。(1).基类:CFixedMapclassCFixedMap{structCoordinate{intx;inty;intnum;};//记录点的结构体structcombp{intx1,y1;intx2,y2;};//连通点坐标structCombn

5、ame{intnum1;intnum2;};//连通点名public:intmVexNum;//顶点数intmEdgNum;//边数doublemMatrix[MAX][MAX];//邻接矩阵Combnamecomb[MAX];//连通点名combpcp[MAX];//连通点坐标CoordinatemVexs[MAX];//顶点集合intgetx(intn1);intgety(intn2);voidInput();//以文件方式输入地图信息voidShowMap();//easyx显示地图15};(2)

6、.基类CAGVclassCAGV{intspeed;//AGV速度intwidth;//AGV宽度intlength;//AGV长度public:CAGV();intgetl();//返回AGV长度intgetw();//返回AGV宽度intgets();//返回AGV速度};(3).单一继承类CPathPlanclassCPathPlan:publicCFixedMap{public:intpath[MAX];//存放最后一个点doubledist[MAX];//存放路径距离intv0;//起始点in

7、troute[40];//路径intrnum;//路径顶点数Coordinaterpoints[MAX];//路径点集voidMaptoGraph();voidDijstra();voidPutpath();};(4).多重继承类CAGVShowclassCAGVShow:publicCPathPlan,publicCAGV{public:#definek(abs(y2-y1))/(abs(x1-x2))inta,b,c,d;intx1,x2,y1,y2;//AGV实际坐标inti,j;intl,w,s

8、;//对应类CAGV中的相关数据voidshow();};2.3程序流程图15开始AGV信息设定自动设置AGV?是自动载入地图?手动输入AGV信息手动输入地图文件名载入地图文件(文本)多次演示?否显示地图路径文件输出路径规划动态显示动态显示显示地图路径规划路径文件输出结束?结束是否是否是否15三、程序重点解析3.1文本文档读入地图信息在最初的设计中,为了方便调试与信息录入,地图文本做的粗糙不堪,但这确实为程序编写提供了许多便利。如图,优化前

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。