本发明涉及计算化空间布局设计领域,是一种规则驱动的协同交互式空间布局自动设计方法。
背景技术:
空间布局设计的基本要求是,充分利用有限的空间资源,在满足空间的各类功能需求、提升空间有效性和舒适度的基础上,提升设计效率,降低设计成本。目前,大部分的空间规划设计工作主要是设计师基于经验手工布局完成的,即经验设计(experience-baseddesign)。设计师根据定性方法和主观判断来产生并选取候选方案,这个“黑盒”操作过程在难以避免方案的主观性和局限性的同时,也面临着设计成本高、效率低下等多种挑战。
近年来,“计算性设计”正在呈现出蓬勃的生命力,成为解决当代各类复杂工程设计问题的重要设计思想和必然趋势。计算化空间布局设计是计算性设计思维和技术在建筑设计领域中较有代表性的应用,相关研究吸引了越来越多不同领域学者的关注。通过各类计算化的空间布局设计方法,设计师可将冗繁且可建模、可量化的工作转移至计算机完成,设计师本身则更加关注高专业要求的设计操作。同时,对于复杂度较高的空间布局设计问题,设计师可将设计问题进行文本描述和归纳,借助计算技术来对其进行编码、建模和计算,生成符合设计约束条件的设计方案。
然而,现有研究工作往往关注针对某一给定特征空间或问题的计算化设计研究,相关研究成果大都停留在算法的性能设计和优化阶段,缺乏系统性地应用平台设计和推广。同时,工程实践表明,复杂室内空间布局设计对设计理念、专业知识的依赖度非常高,计算技术所生成的方案往往在设计可用性、灵活性、美观性上有较大的欠缺,难以直接应用于工程设计中。成熟的计算性建筑设计与应用是需要建筑科学与计算科学的共同参与,而现有研究工作往往缺乏跨学科参与的交互式设计、验证和评估,使得很多研究成果停留在单一学科理论阶段,这些都在一定程度上制约了相关成果的推广性应用。
技术实现要素:
本发明的目的是提出一种可复制、可推广、可用性较高的计算化空间布局设计方法。一方面将冗繁且可建模、可量化的工作,转移至计算机完成,借助计算技术来对其进行编码、建模和计算,生成符合设计约束条件的相对最优设计方案,而设计师本身则更加关注高专业要求的设计操作。另一方面,针对现有计算化设计普遍存在的可用性、舒适度、灵活性、美观性等欠缺而导致的难以直接应用于工程设计中的问题,采用人机协同的交互式设计方法,提升设计方案的可用性和有效性。此外,本发明以微型养老照护机构的空间布局设计为实施例,设计了在线自动化布局设计平台icaredesigner,用户可在web端访问平台,输入空间特征描述后,一键生成空间设计方案,并进行线上交互式修订与优化。
实现本发明目的的具体技术方案是:
一种规则驱动的协同交互式空间布局自动设计方法,特点是充分融合人智、算法和先验知识来空间布局的自动设计,具体包括以下步骤:
(1)空间需求预处理
根据空间需求构建先验知识库和模块工具库,并进行标准化、计算化地描述和存储,具体包括:
a.建立面向具体应用领域的设计先验知识库,包括应用功能需求、采光原则、消防逃生原则、可视化原则及其他基础设计尝试;
b.建立面向功能需求的模块工具库,该工具库包括基本空间构成、功能模块及其属性(空间要求、数量、摆放方式、尺度)、流线关系、摆放规则等,并采用矩阵结构com(ui)=<u_id,nec,num,size,rules>来对每一个模块进行标准化、计算化地描述和存储,其中:
-id用来表示功能模块的编号;
-nec为逻辑变量,用来存储该功能模块在某一空间中的必要性;
-num用来存储该功能模块在某一空间中的数量;
-size用来存储该功能模块在某一空间中的尺寸;
-rules用来存储该功能模块的设计规则或需求;
c.功能模块的分层化处理,对b中的基本功能模块进行基于功能的二级功能单元分类和存储,例如入口单元、居住单元、活动单元、辅助单元等(以空间需求而定),并采用矩阵结构mod(mi)=<m_id,nec,num,size,rules>来存储功能单元及其所对应的约束条件即空间需求、数量、尺寸、相应规则,其对应的特征向量描述与b中的基本功能模块相同;每一类别的功能单元中又包含了相对应的多个基本功能模块和设计约束条件,存储在其各自的com(ui)中;分层化处理过程可简化处理过程,提高算法响应时间;
(2)问题初始化及约束条件定义
首先,用户通过绘制或数据录入两种方式,输入给定空间的特征,包括空间尺寸、采光面、主/次入口、消防通道、柱子、承重墙体及周边环境;然后,将给定空间划分成n×m的计算化网格结构,并根据空间及用户需求对每一个网格单元kmn=<value,property,light,entry,fire>进行特征描述和存储,约束条件包括空间值kmn.value、空间特征kmn.property(空白、墙体、柱子等)、采光性kmn.light、是否临近入口kmn.entry和是否临近消防通道kmn.fire;
(3)规则驱动的迭代遍历算法求解
算法首先遍历网格确定入口玄关模块的位置,rule=入口玄关须临近主入口;确定入口位置之后,结合步骤(1)的a所构建的先验知识库和步骤(2)的空间特征,采用遍历规则,进行空间网格n×m的迭代遍历,进而完成空间的自动最优解设计;在获取最优解后,算法会进行基于ui.rules和mi.rules的二次检测,以确认生成方案的合理性,并输出确认后的相对最优解;其中,所述遍历规则为:
规则1:优先遍历功能单元,后遍历功能模块;
规则2:优先遍历空间角网格单元,次优先遍历边网格单元,最后遍历内部网格单元;
规则3:基于角单元的广度优先遍历;
规则4:内部单元依次遍历;
(4)人机协同的方案优化与生成
设计师或用户根据先验知识及个人偏好,对(3)中生成的相对最优设计方案进行交互式优化和提升;同时,设计师的优化内容也同步更新至(3)中的算法设计规则,辅助优化算法性能;该过程能够较好地解决现有计算化设计方法普遍存在的可用性、灵活性、美观性等不足,使得生成的设计方案能更好地满足专业规范和工程化需求。
采用本发明设计并实现了面向社区嵌入式微型养老机构的交互式自动空间布局设计系统icaredesigner,用户可在web端线上访问该平台,输入空间特征描述后,一键生成空间设计方案,并可在平台工作界面对所生成的方案进行交互式的修订与优化,最终获取具有较高专业性和工程可用性的布局方案。
与背景技术相比,本发明集成了人智、算法和知识,采用多规则驱动的迭代遍历算法,来自动化计算并生成设计方案,以满足各项功能需求,进而获取空间资源最优配置的方案。协同交互的方案优化与修订过程,也可以较好地解决以往自动生成的设计方案在灵活性、舒适度、艺术性上的不足。本发明从根本上改变了现有人力依赖性空间设计的思路,较大程度地提升了设计效率,降低设计成本,提升了最终生成方案的合理性和可用性。
附图说明
图1为本发明实施例即社区嵌入式养老机构的功能模块分层结构图;
图2为本发明实施例居住功能单元的预排列样式图;
图3为本发明实施例入口玄关位置图;
图4本发明实施例角遍历示意图;
图5本发明实施例广度优先遍历示意图;
图6本发明实施例设计方案修正图;
图7为本发明实施例icaredesigner的系统界面图。
具体实施方式
以下结合附图及实施例对本发明进行详细描述。
实施例
以社区嵌入式微型养老机构的空间设计为例,进行本发明方法的过程说明和平台设计。
社区嵌入式微型养老照护机构是当前养老产业的新模式和新方向,是“原居安老(ageinginplace)”理念在具体执行过程中的重要支撑体系之一。社区嵌入式养老服务理念和政策的不断深化和推广,以及微型养老服务机构数量在全国各地的不断增加,对社区嵌入式养老机构空间规划的设计效率、成本及设计方案的可扩展性等都提出了较高的挑战。从空间布局设计的视角上来看,微型养老机构的空间设计具有“小规模”和“多功能”两个典型特征,即设计方案需要在较小的空间中融入符合基本养老照护需求的多种功能,这就对其空间利用效率和对多种功能的兼容性提出了较高的要求,也对传统的人力依赖性设计方法提出了挑战。本发明可以较好地解决此类问题。具体实施过程包括:
1、建立基于照护空间需求的设计先验知识库,包括养老照护领域的基础设计常识,包括功能需求、采光原则、消防逃生原则、可视化原则等。
2、建立照护空间的模块工具库,包括该空间的基本空间构成、基本功能模块及其属性(空间要求、数量、摆放方式、尺度)、流线关系、摆放规则等。养老照护空间的模块工具库中包含双人间、客厅、玄关等22个基本功能模块。各功能模块的标准化存储内容com(ui)=<u_id,nec,num,size,rules>包括该功能模块的所需器具、整体尺寸、摆放方式、空间要求等,具体来说:
-id表示功能模块的编号;
-nec为逻辑变量,存储该功能模块在某一空间中的必要性;
-num存储该功能模块在某一空间中的数量;
-size存储该功能模块在某一空间中的尺寸;
-rules存储该功能模块的相关设计规则或需求,包括采光需求、视线控制需求、入口设置等,22个基本模块对应的设计规则rules各有差异,例如入口玄关、双人间、客厅、洗衣间、牙科诊室等功能模块必须直接采光;康复模块尽量靠近马路;所有功能模块的入口至最近的出入口距离不能超过17米;所有功能模块的入口不能够被其他模块的墙体阻挡等;
以双人间为例,对于社区嵌入式养老社区空间来说,双人间为必要功能模块,也就是ui.nec=1;根据先验知识库,设置ui.num=spacearea÷(40~60),ui.size=3600×4500;其设计规则rules包括:必须靠近采光面、不能独立存在、必须临近卫生间等,这些设计规则会转化至对应的空间描述中,生成相对应的约束条件。至此,完成对社区嵌入式养老机构空间设计问题的先验知识采集与存储。
3、功能模块的分层化处理。社区嵌入式居家养老机构的设计目标和约束条件是零散且多样化的,这会导致较高的算法时间复杂度,影响用户体验。为了简化处理过程,提升算法响应时间,需对量化的功能模块进行按功能类别的二次分类和整理,即将22个基本功能模块按功能需求分为居住单元、入口单元、康复单元、辅助单元和其他五大类,每一类别的功能单元中又包含了相对应的基本功能模块和设计约束条件,具体如图1和表1所示。每个功能单元分布采用矩阵结构mod(mi)=<m_id,nec,num,size,rules>来存储,包括空间需求、数量、尺寸、相关规则等,其对应的特征向量描述与基本功能模块相同。对于每个功能单元mod(mi),基于先验知识库预先定义了其中所包含的功能模块com(ui)及其属性特征(如表1所示),对其空间排布进行半固定化的预设置即根据先验知识预先对5个功能单元mod(mi)进行了可选的相对最优内部排列设计。图2展示了以居住单元为例的五种预设置。
表1功能单元及所包含功能模块的属性特征
功能模块的分层存储处理过程将部分功能模块约束条件锁定在功能单元内部,降低可算法复杂度,提升了响应时间。
4、空间初始化。用户输入给定空间的空间特征,包括空间尺寸、采光面、主/次入口、消防通道、柱子、承重墙体及周边环境等。对于具体的给定设计空间,首先将空间区域划分成n×m的网格结构,并根据用户输入对每一个网格单元kmn进行特征描述和存储,kmn=<value,property,light,entry,fire)包括其空间值kmn.value,空间特征kmn.property(空白、墙体、柱子等)、采光性kmn.light、是否临近入口kmn.entry、是否临近消防通道kmn.fire等。
5、约束条件定义。对于每一个基本功能模块,其约束条件存储在每个功能模块的基本设计规则(约束条件)rules中。除了模块自身的约束条件外,设计过程还包括功能单元之间的约束规则,例如护理站必须能观察到所有康复模块、全部客厅以及80%房间出入口等。这些约束条件将分别存储在相对应的约束规则rules中。
6、多规则驱动的迭代遍历求解。首先根据设计规则遍历网格确定入口玄关模块的位置入口玄关须临近主入口,可能存在的位置关系如图3所示。确定入口位置之后,采用以下四种遍历规则进行基于先验知识和空间特征的迭代遍历求解,完成空间的相对最优规划设计。遍历规则及过程包括:
规则1:优先遍历功能单元mod(mi),后遍历功能模块com(ui)。在对空间网格进行遍历过程中,优先验证其是否满足预先设计的功能单元模块mod(mi)的约束规则,若满足,则优先排列功能单元模块。若某空间网格同时满足多个功能单元模块的约束条件,则按照优先级“居住模块>康复模块>入口模块>辅助模块>其它”的顺序进行排列。在完成了所有的功能单元模块遍历后,再迭代遍历网络空间,来验证其是否满足小功能模块com(ui)的设计约束条件。这样的规则设计可以在保证设计方案专业性、规整性的同时,较大程度地降低算法时间复杂度。
规则2:优先遍历空间角网格单元,次优先遍历边网格单元,最后遍历内部网格单元。即优先对空间角单元进行遍历,查看其是否满足某一模块的相关约束条件,若满足,则优先进行基于角单元的空间排列。这里只考虑凸型角单元的遍历,忽略凹型角单元(图4中标记“×”的角)。在完成了所有空间角的遍历之后,再进行空间边界网格单元的遍历。这样的规则设计主要是为了尽可能地提升设计方案的采光面积。
规则3:基于角单元的广度优先遍历。为了提升建筑空间的利用率,需要将所有的模块尽可能地排列在一起,因此,采用广度优先遍历的方式对空间网格单元进行遍历。当在某一网格单元中排列了模块a后,将模块a的四个角单元(图5标注①的角单元)放入优先遍历队列中进行依次遍历,若标注为①的角单元满足某一模块b的约束条件,则优先排列模块b,并将模块b的角单元(图5中标注②的单元)放入次优先遍历队列中。在完成了所有标注①的角单元遍历后,再进行标注为②的角单元遍历。同理,在遍历②角单元的过程中,会产生第三优先遍历角单元(图5中标注③的单元),按上述过程迭代进行,直至完成所有的空间单元遍历。
规则4:内部单元依次遍历。在完成了角单元遍历和边单元遍历后,对内部空间单元进行依次遍历,对于value值仍为0的网格单元进行约束条件匹配。这个过程主要是为了实现建筑空间的最大化利用。
7、人机协同的方案修正与优化。在完成基于上述规则的迭代遍历之后,算法生成了针对特定输入空间的相对最优空间规划方案。随后,对生成的设计方案进行人机协同的修正与优化,即算法修正和人工修正的协同。算法修正主要是基于规则的测试与优化,测试规则是从先验知识中获取。例如,对于生成的图6-a的方案,部分模块存在未靠边处理的情况,系统对此类问题进行优化后,生成如图6-b所示的最优方案。人工修正则主要是通过用户交互的方式来对生成的方法进行人工优化,这个过程主要是为了修订算法生成的方案可能存在的专业性、美观性和适用性上的不足,使其更好地满足工程设计需求。
8、icaredesigner平台设计与应用实践。根据上述方法,本发明设计并实现了基于web端的社区嵌入式微型养老空间自动布局设计平台icaredesigner,并进行了跨学科的可用性、有效性和可扩展性验证与评估。图7展示了icaredesigner平台的整体界面。用户可通过线上访问该平台,通过左侧空间描述工具输入空间特征,通过右侧状态栏进行细节修订。根据用户输入的空间特征,系统可一键生成设计方案。在获取设计方案后,用户可对生成的方案根据专业需求或偏好进行交互式优化,最终获取符合需求的设计方案。
1.一种规则驱动的协同交互式空间布局自动设计方法,该方法具体包括以下步骤:
(1)空间需求预处理
根据空间需求构建先验知识库和模块工具库,并进行标准化、计算化地描述和存储,具体包括:
a.建立面向具体应用领域的设计先验知识库,包括应用功能需求、采光原则、消防逃生原则和可视化原则;
b.建立面向功能需求的模块工具库,该工具库包括基本空间构成、功能模块及其属性、流线关系和摆放规则;采用矩阵结构com(ui)=<u_id,nec,num,size,rules>来对每一个模块进行标准化、计算化地描述和存储,其中:
-id用来表示功能模块的编号;
-nec为逻辑变量,用来存储该功能模块在某一空间中的必要性;
-num用来存储该功能模块在某一空间中的数量;
-size用来存储该功能模块在某一空间中的尺寸;
-rules用来存储该功能模块的设计规则或需求;
c.功能模块的分层化处理,对b中的功能模块进行基于功能的二级功能单元分类和存储;分层化处理过程依据具体空间需求,分为入口单元、居住单元、活动/生活单元、辅助单元和展示单元,并采用矩阵结构mod(mi)=<m_id,nec,num,size,rules>来存储功能单元及其所对应的约束条件即空间需求、数量、尺寸、相应规则,其对应的特征向量描述与b中的功能模块相同;每一类别的功能单元中又包含了相对应的多个功能模块和设计约束条件,存储在其各自的com(ui)中;
(2)问题初始化及约束条件定义
首先,用户通过绘制或数据录入两种方式,输入给定空间的特征,包括空间尺寸、采光面、主/次入口、消防通道、柱子、承重墙体及周边环境;然后,将给定空间划分成n×m的计算化网格结构,并根据空间及用户需求对每一个网格单元kmn=<value,property,light,entry,fire>进行特征描述和存储,约束条件包括空间值kmn.value、空间特征kmn·property、采光性kmn.light、是否临近入口kmn.entry和是否临近消防通道kmn.fire;
(3)规则驱动的迭代遍历算法求解
规则驱动的迭代遍历求解过程首先遍历网格确定入口玄关模块的位置,rule=入口玄关须临近主入口;确定入口位置之后,结合步骤(1)的a所构建的先验知识库和步骤(2)的空间特征,采用遍历规则,进行空间网格n×m的迭代遍历,进而完成空间的自动最优解设计;在获取最优解后,进行基于ui.rules和mi.rules的二次检测,以确认生成方案的合理性,并输出确认后的相对最优解;其中,所述遍历规则为:
规则1:优先遍历功能单元,后遍历功能模块;
规则2:优先遍历空间角网格单元,次优先遍历边网格单元,最后遍历内部网格单元;
规则3:基于角单元的广度优先遍历;
规则4:内部单元依次遍历;
(4)人机协同的方案优化与生成
设计师或用户根据先验知识及个人偏好,对步骤(3)中生成的相对最优解进行交互式优化和提升;同时,设计师或用户的优化内容也同步更新至步骤(3)中的遍历规则,辅助优化算法性能。
技术总结