本文是一篇机械论文,本课题针对云平台系统的各功能模块进行稳定性测试,主要针对数据监控与共享、任务容器的自动伸缩、持续集成与任务自动化部署模块进行详细测试,测试结果最终达到了预期目标。
第一章绪论
1.1研究背景及意义
近些年来,随着建筑行业的快速发展,为寻找经济突破点以刺激经济恢复和快速增长。在此发展趋势下,“建筑工业4.0”战略[1]应运而生,象征着数字化信息结合建筑工程领域的发展已经来临。建筑工业领域的核心需求依旧是以劳动力为主,针对自动化建设施工是建筑工业领域智能建设当今以及未来发展的重要定位。
建筑机器人集结构力学、建筑学、机器人学多类型学科于一体[2],已然成为研究热点,但是与建筑机器人相关的任务模块协同开发效率低、部署速度慢等问题导致人力物力的耗费、施工成本增加的现象依旧是无法忽视的,并且建筑机器人科技水平目前基本处于机械化阶段,距离数字信息化仍有很大差距。建筑机器人最早起源于20世纪80年代,由日本清水公司研发的钢梁防火层喷涂SSR系列机器人被公认为最早应用至工业领域的建筑机器人[3]。现如今已经开发出多工种建筑机器人,应用于多类型建筑施工场景,相较于其他制造工业机器人,其具有更高承载能力、环境适应力强等优势。但也有着明显不足与短板,由于建筑机器人存在工作环境复杂建模难度高、施工场景展示不直观导致信息掌握不全面、约束空间下如何安全且高效工作等问题,高效搭建精细化施工场景模型、虚拟现实漫游模块开发以及准确制定施工模拟路线便成为解决问题的关键所在。同时建筑机器人相关工程项目开发及部署邻域依旧存在信息化及自动化程度较低的缺点,若无法保证高质量地管理建筑机器人项目模块开发依旧会给建筑工人的安全及生命财产受到伤害[4]。传统的建筑机器人项目开发及部署模式下,工作人员之间独立开发,相互间数据信息交流与共享效率低下,并且任务完成后需要交付给客户或者施工运维人员浏览展示,部署过程较为繁琐,如果业务繁重,需要机械式地重复进行任务部署,无法实现自动化任务交付与部署流程,导致人力物力的损耗,由此可见当前建筑机器人任务模块开发及自动化部署的发展仍处于初级阶段,建筑机器人施工场景搭建、施工场景漫游、建筑机器人施工路线规划等任务的实施分配仍然需要组织各类型技术人员专门进行开发,各自依旧是封闭的静态系统,缺乏任务数据的实时性交互,导致企业智能化发展缓慢,进而影响项目进程,提高施工难度。伴随着云计算的快速发展,将建筑机器人任务模块的开发部署与云计算相结合成为了极具发展前景的研究方向之一。
......................
1.2国内外研究现状
云计算的发展为建筑机器人项目开发与部署提供了新的技术和发展契机,云计算可以凭借其出色的计算能力、存储能力帮助建筑机器人在项目管理过程中实现数据管理操作和开发模式上的协同、整合与共享,不断提升建筑施工的质量和效率。同时云计算还可以进一步结合容器技术与Kubernetes为建筑机器人施工项目管理提供有效的技术支持和保障。
机械论文怎么写
基于容器技术的云平台生产环境已经快速发展并应用于各类型的领域中。在Docker容器技术与Kubernetes研究方面,Minh Thanh,N Quang-Hung[14]等人阐述了虚拟化技术是云计算不可或缺的一部分,并基于架构展示如何在Docker容器及虚拟机实现高效部署应用程序。David Bernstein[15]介绍了容器技术如何结合云计算基础设施以及开源工具Kubernetes对容器的编排调度策略。ValeriaCardellini[16]等人提出了基于ge-kube的Kubernetes自适应编排扩展工具,引入了自适应和网络感知的调度能力模块,它可以有效地部署和动态地扩展运行在地理分布式环境中的应用程序,如图1.2所示为ge-kube架构图。陈金光对阿里云平台进行深入研究,针对Kubernetes系统资源分配进行优化完善并搭建了多个集群跨可用区的管理模块,实现多集群的高效管理[17]。宋霖结合制造生产场景,设计基于抢占式调度的镜像调度策略,按照优先级的高低更合理地利用计算资源[18]。严丽云,何震苇等人基于Kubernetes可实现数据库容器化承载技术的基础上,设计出MySQL数据库及Kubernetes集群部署方案[19]。胡晓亮以Kubernetes容器编排部署系统为核心结合容器技术,并采用微服务框架的思想,设计出基于容器技术的企业级私有云平台,为正在运行的任务程序提供一致的运行环境,实现统一资源调度、容器的扩缩容、负载均衡等服务功能[20]。
...........................
第二章云平台相关概念及需求分析
2.1 Kubernetes容器编排系统介绍
Kubernetes是一个开源的容器编排部署管理系统,用于自动管理云平台中多个服务器的容器化任务实例[30]。在应用开发人员眼中,Kubernetes是实现多个容器化应用编排部署及维护的操作系统。
Kubernetes提供数据资源共享、容器弹性伸缩、容器化应用自动调度等功能。Kubernetes可以在服务器上进行环境搭建,与此同时也可以部署并运行在主流的云平台上,被广泛应用于Docker容器管理部署系统[31]。使用人员可通过编写配置文件完成自动化部署工作任务,实现资源统一调度、数据监控、容器自动伸缩等功能[32-33]。Kubernetes可以看作多台服务器组成的一个服务器编排系统,该系统可支持对多个任务程序的编排调度。
2.1.1 Kubernetes主从节点
Kubernetes集群下共包括两种类型节点提供任务调度及容器运行功能,分别是Master节点和Node节点。
Master节点为集群的主节点,用于实现任务应用资源的合理分配调度至计算节点。由API Server、Kube-Scheduler、Controller Manager和ETCD四个组件构成。API Server是各个组件互相传达信息的中转站,接受外部请求,并将信息写到ETCD中。Controller Manager是负责集群内从节点状态监控以及Pod副本、命名空间等资源的管理。Kube-Scheduler主要负责任务资源的统一调度,根据节点计算资源的利用率选择合适的节点进行分配[34]。ETCD是一个分布式数据存储组件,负责存储集群的配置信息。
...........................
2.2 Docker容器技术
Docker是一个开源的应用容器引擎,诞生于2013年初,基于Go语言实现。开发人员可以通过Docker容器技术将应用打包至轻量化、可移植的容器上,并发布运行至Linux内核架构的操作系统。Docker与虚拟机[38-39]是目前主流的两种虚拟化方案,相较于虚拟机,Docker容器技术可以将多个任务容器运行到一套操作系统内核中[40],由于容器是完全使用沙箱机制,从而使得其具有轻量级和秒级启动的特点,进而保证其资源占用极低[41]。
Docker容器实现开发者开发环境构建的高效性以及任务应用的可移植性,保证应用整个运行周期的环境一致化,简化了开发人员及任务部署人员操作的繁琐步骤,其主要工作流程如图2.4。
Docker是基于C/S架构的程序,整个过程为容器所运行的客户端向服务端发出命令,服务端接收到消息后做出回应,完成数据交流传输。Docker支持在多台物理主机或虚拟机上运行,所以客户端和服务器端可以分布式运行在主机上。Docker在整个生命周期中主要包括以下几个基本组件。
Docker Daemon:容器运行在容器守护进程Docker Daemon的顶部[42],当获得容器所运行客户端发出的请求时,会根据请求内容做出响应实现对容器应用的具体操作。
镜像(Image):Docker镜像,相当于是一个root文件系统。用户将自己的应用程序制作为镜像后,将镜像加载到容器下并运行容器来实现镜像的部署任务,其本质就是通过一系列文件构建而成。
.....................
第三章基于容器技术的建筑机器人任务云平台设计与实现...........................21
3.1基于容器技术的建筑机器人任务云平台总体设计.........................21
3.2持续集成及任务自动化部署模块的需求分析及实现....................22
第四章云平台建筑机器人任务模块开发.............................36
4.1 BIM模型建立与处理.........................................36
4.1.1 BIM建模..................................36
4.1.2模型轻量化操作................................36
第五章建筑机器人任务云平台系统测试....................................60
5.1系统部署测试环境...................................60
5.1.1服务器配置.................................60
5.1.2集群搭建......................................60
第五章建筑机器人任务云平台系统测试
5.1系统部署测试环境
5.1.1服务器配置
鉴于本平台需要测试多类型任务从而需求计算资源不同,所以共制定两套服务器配置方案,具体配置如表5.1所示。
机械论文参考
5.1.2集群搭建
为测试平台各功能模块运行的稳定性,共配置了5台服务器,其中k8s-node1测试的任务模块需求更高的计算资源,分配的机器详细配置信息如表5.1配置方案二所示,其余服务器的计算资源需求量较小,分配的机器配置如表5.1配置方案一所示。
...............................
第六章总结与展望
6.1总结
本章主要是对本课题基于容器技术的建筑机器人任务云平台的研究意义、研究路线、任务模块的开发、系统功能的设计与实现进行全面的总结。首先阐述了云平台设计与开发的需求分析,之后分析本文构建的云平台系统及建筑机器人任务模块开发的创新点,最终通过结合开发云平台时的思考以及建筑机器人任务模块的展示效果对下一步工作的研究方向进行展望。
本课题主要是针对现阶段建筑机器人项目开发与部署的不足,结合Kubernetes与Docker容器技术设计实现了基于容器技术的建筑机器人任务云平台系统,其中主要包括持续集成与任务自动化部署系统、云平台各服务模块的搭建、任务模块的开发,本文的主要工作成果如下:
(1)针对传统的建筑机器人任务模块开发及部署方式的缺点,本文将容器技术与建筑机器人任务结合应用于Kubernetes容器编排系统实现项目开发及部署的高效性。以Docker容器技术为核心,配合Kubernetes容器编排系统实现任务调度、数据监控与共享、持续集成与任务自动化部署等功能模块的应用。
(2)设计建筑机器人任务云平台的整体架构,针对云平台系统的功能性要求,设计相应的功能模块完成平台的搭建,包括任务模块的数据监控与数据共享模块、任务容器的自动伸缩模块、持续集成与任务自动化部署模块的搭建。
(3)建筑机器人任务模块的开发。通过开发建筑机器人任务模块,实现施工现场运维模拟的真实性以及提高建筑机器人施工的高效性,同时为后续验证云平台的稳定性及实用性打下基础。其中任务模块主要包括建筑机器人施工场景模型的搭建、施工现场的场景漫游模块以及建筑机器人施工路线的规划,结合BIM及GIS模型保证施工现场的建筑模型的精细化及施工地理环境的完整呈现;基于导航网格的A*寻路算法生成最优施工路线;融合虚拟现实实现沉浸式建筑施工场景漫游体验。
(4)针对云平台系统的各功能模块进行稳定性测试,主要针对数据监控与共享、任务容器的自动伸缩、持续集成与任务自动化部署模块进行详细测试,测试结果最终达到了预期目标。
参考文献(略)