Modeling and Simulation
Vol. 11  No. 03 ( 2022 ), Article ID: 51441 , 12 pages
10.12677/MOS.2022.113062

基于MATLAB/GUI的浮空器囊瓣智能设计 系统开发

何超,宋淼

湖南航天远望科技有限公司,湖南 长沙

收稿日期:2022年3月7日;录用日期:2022年5月13日;发布日期:2022年5月19日

摘要

对于浮空器产品,柔性囊体是其最重要的组成部分,囊体由各种囊瓣组成,其囊瓣设计是囊体加工制造中的关键环节,囊瓣展开的精度对于整个浮空器的性能具有至关重要的影响。本文针对浮空器囊瓣的近似展开计算,基于MATLAB/GUI开发了“浮空器囊瓣智能设计系统”软件模块,实现了浮空器常有的球形、艇形、碟形等囊瓣曲面展开计算的参数化,展开图形自动绘制,展开误差计算和展开点坐标文件的自动生成,生成速度快,展开精度高,界面友好,操作便捷,大大提高浮空器囊瓣设计效率和精确度,具有较高的实用价值和推广前景。

关键词

MATLAB/GUI,浮空器,囊瓣设计,曲面展开

Development of an Intelligent Design System for the Aerostat Segmentation Based on MATLAB/GUI

Chao He, Miao Song

Hunan Aerospace Yuanwang Technology Co., Ltd., Changsha Hunan

Received: Mar. 7th, 2022; accepted: May 13th, 2022; published: May 19th, 2022

ABSTRACT

For the aerostat products, the flexible capsule is the most important part of the segmentation; the segmentation consists of a variety of the segmentation; the segmentation design is the key link in the processing and manufacturing of the segmentation; the accuracy of the expansion of the segmentation for the performance of the whole segmentation has a vital impact. Aiming at the approximate expansion calculation of the aerostat segmentation, this paper develops the software module for “intelligent design system for the aerostat segmentation” based on MATLAB/GUI, such as spherical shape, boat shape and dish shape, which can realize the parameterization of the expansion calculation of the aerostat segmentation, and the automatic drawing of the expansion graphics, and can provide the calculation of the expansion error and the automatic generation of the coordinate file for the expansion points. It has the advantages of fast generation, high expansion accuracy, friendly interface and convenient operation, which improves the design efficiency and accuracy and has high practical value and popularization prospect.

Keywords:MATLAB/GUI, Aerostat, Segmentation Design, Surface Expansion

Copyright © 2022 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

对于浮空器产品的生产制造过程中,首先需要对囊瓣进行设计和曲面展开,并通过热合的方式将展开后的囊瓣裁片连接成囊体。囊体为三维曲面结构,大部分为旋转体结构,其囊体由平面材料拼接而成,因此需要经过分瓣裁剪过程,这个过程就是囊瓣设计。囊瓣设计需要考虑原材料的尺寸、囊体整体形状以及加工工艺等因素。囊体曲面分割后的三维曲面均为不可以展曲面,不能无误差展开为二维平面,因此只能利用近似展开方法进行囊瓣设计,将囊瓣近似展开为二维平面 [1] [2] [3]。目前,囊瓣的展开主要有作图展开法、有限元法及解析法 [4] [5],不管采用哪种展开方法,其计算过程都较复杂,且计算较大,易出错,导致囊瓣设计人员工作繁锁,效率低下。

本文针对浮空器囊瓣的近似展开计算,采用解析法以球形、艇形囊瓣为实例建立近似展开数学模型,并基于MATLAB/GUI开发了“浮空器囊瓣智能设计系统”。

2. MATLAB/GUI简介

MATLAB是一款数学软件,其模块下的图形用户界面(Graphics User Interface,简称GUI)是利用图形控件来显示计算机操作的用户界面,实现人机交互功能界面。MATLAB/GUI由图形窗口、图轴、菜单、按钮、文本框等图形对象构成,具有开发门槛低,周期短,兼容性强等行点。

3. 囊瓣设计数学模型

3.1. 解析法

解析法的原理是通过建立曲面展开的数学模型,对曲面边界上点的坐标采用微分的思想进行计算,然后利用样条曲线连接各点生成展开平面的边界,则可绘制曲面展开图。对于给定母线表达式的回转体,可将曲线等弧长展成直线并计算三维曲面对应位置垂直方向的弧长,对曲面边界上的各点进行计算,然后利用样条曲线连接各点生成曲面展开的边界,微元法将曲面映射到平面即得到二维囊瓣 [6],面积变化小,精度高。具体实施方式是:将曲线(回转体母线)离散为折线段,计算每个折线点处弧长,将折线展成直线,并将圆弧展成直线,得到近似平面。

3.2. 球形囊瓣数学模型

球形是由一个半圆母线沿其直径旋转一周形成的空间几何体,若把球面分成N等份,一个等份为一个“囊瓣”裁片,可看作母线沿直径旋转的360˚/N角度形成的空间曲面。囊瓣展开的原理:将母线拉伸为直线,即“囊瓣”裁片的中轴线MM’,作为坐标系X方向上的坐标值,坐标系Y方向的坐标值由母线上的点到球中轴线上的距离获取 [7] [8] [9] [10],如图1所示,球上母线上点a对应的X坐标值为弧长am的值,对应的Y坐标值为直线ak的值,分析建立球形“囊瓣”裁片展开的数学模型如下:

x = r × b b [ 0 , p i ]

y = n / 2 × r × sin b b [ 0 , p i ]

R——球半径;

B——母线展开角度变量,取值范围[0, pi];

N——球形分瓣角度,与分瓣数量相关。

从以上数学模型可知,b、n取值越小,球面等分数越多,边线与中线的长度差越小,所得到的裁片精度越高,连接成的球面也越精确。

3.3. 艇形囊瓣数学模型

艇形同样为旋转体,其母线为多段线相切组合,通常由为两椭圆曲线、直线、圆弧相切组合,其中两椭圆曲线长轴不等,短轴相等。若把艇面分成N等份,一个等份为一个“囊瓣”裁片,其囊瓣展开的原理与球形相同,如图2所示,分析建立艇形“囊瓣”裁片展开的数学模型,因涉及参数和关系式较多,各曲线展开的原理相似,此处仅列出2段椭圆展开数学模型以示说明。

第1段椭圆展开曲线:

x = b p i / 2 a 1 2 × sin β 2 + c 2 × cos β 2 d β b [ 0 , p i / 2 ]

y = n / 2 × a 1 × sin b b [ 0 , p i / 2 ]

第2段椭圆展开曲线:

x = b p i a 2 2 × sin β 2 + c 2 × cos β 2 d β b [ p i / 2 , p i ]

y = n / 2 × a 2 × sin b b [ p i / 2 , p i ]

a1——椭圆1的长轴半径;

c——椭圆1和椭圆2的短轴半径;

a2——椭圆2的长轴半径;

b——母线展开角度变量;

β——积分用变量;

n——球形分瓣角度,与分瓣数量相关。

3.4. 展开精度分析

从几何角度讲曲面与其展开后的平面应该是一一映射的关系,因此评判曲面展开效果的优劣可通过分析曲面与其近似展开后平面之间的几何量的差值程度,通常这些几何量可以是边长(弧长)、面积等。

采用解析法建立的数学模型的思想:假设用n个数将区间[a, b]的样条曲线分割成n个小线段,当n趋于无穷时,曲线长度可以用极限的形式表示,且根据积分的定义,得出曲线长与积分的关系,如图3所示,因此囊瓣展开后边界曲线弧长如下式:

Figure 1. Geometric view of the unfolding of spherical valve

图1. 球形囊瓣展开几何图

Figure 2. Geometric view of the unfolding of the boat valve

图2. 艇形囊瓣展开几何图

L = i = 0 n Δ L i = a b x ( t ) 2 + y ( t ) 2 d t

同理,样条曲线生成的展开平面面积与积分的关系,如图4所示,囊瓣展开后平面面积如下式:

A = i = 0 n Δ A i = a b y ( t ) x ( t ) d t

解析法采用的是一种近似计算方法,以上对弧长和面积的计算结果与理论值难免会产生一定的误差,通过计算值与理论值对比便可对囊瓣展开效果的优劣进行评价和分析。

4. 囊瓣展开技术

采用面向对象的MATLAB语言进行参数化编程建模,实现不同参数下囊瓣的展开图设计。囊瓣展开的具体步骤主要包括定义主程序、定义数学模型中的自变量、生成曲面边界点、连接各点生成样条曲线、镜像样条曲线、生成展开平面、导出曲线坐标等,使用流程图表示如图5所示。

Figure 3. Calculation diagram of integral of side length of expanded segmentation

图3. 展开囊瓣边长积分计算图

Figure 4. Calculation diagram of integral of area of expanded segmentation

图4. 展开囊瓣面积积分计算图

5. 系统设计

根据公式可以在MATLAB [11] 中编辑M文件进行计算,但是计算过程比较繁琐低效,对分析人员专业要求高,为了便于计算,使输入输出直观清晰,本文使用了MATLAB GUI开发了浮空器囊瓣智能设计系统,生成的EXE可执行文件可独立于MATLAB软件运行,该系统具有人机界面、图形展示及自动生成计算文件等功能。

5.1. 智能设计系统框架

浮空器囊瓣智能设计系统的框架结构如图6所示,包含六大功能模块:用户登录、类型选择、参数设置、运行计算、结果输出、退出程序。依照系统框架结构特点,运用GUIDE界面设计形成框架设计树如图7所示。

Figure 5. Flow chart of boat-shaped segmentation expansion

图5. 艇形囊瓣展开流程图

5.2. 主要功能模块介绍

5.2.1. 用户登陆

考虑到系统使用的安全性,开发了用户登录界面,如图8所示。通过字母、数字和符号等组合模式进行设置,若用户输入和设置一致,则可顺利进入运行界面;若用户输入和设置不一致,则界面提示:“用户名和密码输入错误,请重新输入”。

5.2.2. 类型选择

浮空器囊瓣智能设计的对象有球形、艇形、碟形、南瓜形、异形,由于各对象的输入参数不完全一致,因此各对象需要区别对待。在界面中设置球形、艇形、碟形、南瓜形、异形选择按钮和示图,如图9所示,用户可以根据需要进行选型。

5.2.3. 参数设置

针对不同的类型时,系统有不同的设计界面,要求用户依次输入计算所需的母线参数、采样参数及自变量范围。母线参数和自变量范围主要依据囊瓣数学模型中涉及的参数,如球形,主要包括球半径、分瓣角度、母线展开角度变量。采样参数是展开精度设置的关键,主要指采样点数,采样点数越多,其展开精度越高,同时计算量越大,用户可根据需求设置。

5.2.4. 运行计算

设置“生成展开曲线”指令按钮,用户点击该按钮,即可通过MATLAB内置函数求解器计算程序进行编译求解,球形囊瓣计算程序如下所示:

Figure 6. Framework structure of system development

图6. 系统开发框架结构

Figure 7. Frame design tree

图7. 框架设计树

Figure 8. Login interface

图8. 登陆界面

Figure 9. Interface of type selection

图9. 类型选择界面

function ball_ok1_Callback(hObject, eventdata, handles)

ball_r = str2double(get(handles.ball_raduis, 'String'));

ball_lengthdivinumb = str2double(get(handles.cells_numb, 'String'));

ball_cellnumb = str2double(get(handles.ball_numbers, 'String'));

ball_x1 = [];

ball_y1 = [];

for q = 0:pi/(ball_lengthdivinumb-1):pi;

ball_x1 = [ball_x1 ball_r*q];

ball_y1 = [ball_y1 pi/ball_cellnumb*ball_r*sin(q)];

end;

5.2.5. 结果输出

系统输出的结果包括展开图、精度分析、坐标集excel文件自动生成。展开图可直接显示在界面上,方便用户观察和辨别曲线的连续性和计算准确性,若展开曲线出现离散不连续区域,则可辨别输出有误,须检查参数输入是否有误。精度分析主要包括瓣长误差、面积误差,通过精度分析,可为用户获取精度范围内的囊瓣展开曲线。瓣长误差是展开曲线长度和理论半圆弧在中位面上投影理论线长度之差,面积误差是囊瓣展开曲线围合的面积与囊瓣未展开曲面面积之差,其误差值皆可通过几何解析计算编入程序获取。坐标集excel文件在计算完成后,便在该系统文件路径下生成,坐标集excel文件可直接利用AUTOCAD中的曲线导入功能绘制成裁片设计工程图,供数控下料生产。

5.3. 运行实例

以球形囊瓣球形半径4 m,分瓣数和取样点数取两组(8, 1000)、(20, 2000)设计参数为例,介绍浮空器囊瓣设计智能系统的运行过程。在球形囊瓣设计界面的“参数输入”区输入设计参数,如图10所示,点击“生成展开曲线”按钮,数据处理结果将系统将会自动在“图形绘制”区绘制展开曲线,如图11图12所示,同时实现数据保存、文件输出、图形编辑等功能,坐标集excel文件如图13所示。

Figure 10. Design Interface of spherical segmentation

图10. 球形囊瓣设计界面

Figure 11. The design of spherical segmentation with 8 valves

图11. 分瓣数为8的球形囊瓣设计

同理,艇形囊瓣设计时周向分瓣数和取样点数取两组(20, 1000)、(40, 2000)设计参数为例,点击“生成展开曲线”按钮,数据处理结果将系统将会自动在“图形绘制”区绘制展开曲线,如图14图15所示。

经过以上运行数据结果分析,分瓣数越多,取点数越大,其展开的精度越高,整体展开误差都为毫米级以下,用户可根据浮空器囊体设计精度要求来进行设置。

Figure 12. The design of spherical segmentation with 20 valves

图12. 分瓣数为20的球形囊瓣设计

Figure 13. Coordinate points of spherical segmentation generates

图13. 球形囊瓣生成坐标点

6. 数值实验

以8米球形囊瓣(共20瓣)为实验对象,为验证智能系统囊瓣设计的正确性及其展开算法的精度,通过三维软件的测量工具对原始囊瓣曲面的边界曲线的弧长、面积进行测量,同时采用软件有限元法数值模拟原始囊瓣展开计算,并测量展开后平面的弧长和面积,其结果见表1

由如上实验结果得出结论如下:1) 无论是有限元数值模拟法还是解析法其展开后的面积皆小于原囊瓣面积,这与解析法本身用直线近似弧线思想相符;2) 采样点越多,智能系统误差越小,其展开后的

Figure 14. The design of boat-shaped segmentation with 20 valves

图14. 分瓣数为20的艇形囊瓣设计

Figure 15. The design of boat-shaped segmentation with 40 valves

图15. 分瓣数为40的艇形囊瓣设计

弧长和面积越接近理论值,肯定了该智能系统数学模型和算法的正确性;3) 有限元数值模拟展开方法采用网格法建模复杂,运算速度低,计算量大,较智能系统效率低,精度略低,表明智能系统的实用性强。

Table 1. Comparison of the original and expanded cystic valves

表1. 原始囊瓣与展开囊瓣比较

7. 结论

本文针对浮空器囊瓣的近似展开计算原理,建立了浮空器囊瓣设计的数学模型,分析了展开精度,构造了展开流程,并基于模块化思想,应用MATLAB/GUI开发了浮空器囊瓣智能设计系统,实现了浮空器常有的球形、艇形等囊瓣曲面展开计算的参数化,并做了数值实验验证,智能系统计算结果直观、清晰地显示在界面上,生成速度快,展开精度高,界面友好,操作便捷,大大提高浮空器囊瓣设计效率和精确度,具有较高的实用价值和推广前景。

文章引用

何 超,宋 淼. 基于MATLAB/GUI的浮空器囊瓣智能设计系统开发
Development of an Intelligent Design System for the Aerostat Segmentation Based on MATLAB/GUI[J]. 建模与仿真, 2022, 11(03): 663-674. https://doi.org/10.12677/MOS.2022.113062

参考文献

  1. 1. 罗振华, 蒋芬, 等. 针对不可展曲面的近似展开方法浅析[J]. 工业技术, 2014(30): 51, 53.

  2. 2. Azariadis, P.N. and Aspragathos, N.A. (2001) Geodesic Curvature Preservation in Surface Flattening through Constrained Global Optimization, Computer-Aided Design, 33, 581-591. https://doi.org/10.1016/S0010-4485(00)00102-0

  3. 3. 席平. 三维曲面的几何展开[J]. 计算机学报, 1997, 20(4): 315-322.

  4. 4. 詹雯. 复杂曲面展开技术研究[D]: [硕士学位论文]. 南京: 南京航空航天大学, 2007.

  5. 5. 康小明, 马泽恩, 等. 不可展曲面近似展开的四边形网格等面积法[J]. 西北工业大学学报, 1998, 16(3): 327-332.

  6. 6. 杨继新, 刘健, 肖正杨, 等. 复杂曲面的可展化及其展开方法[J]. 机械科学与技术, 2001, 20(4): 520-521.

  7. 7. 潘鸿袱, 林大钧. 对几种球面近似展开方法的探讨[J]. 华东化工学院学报, 1982, 4(2): 511-516.

  8. 8. 陈维勤, 陈立新, 等. 球面展开图软件程序设计[J]. 石油化工设备, 2001, 30(B05): 47-49.

  9. 9. 蒋清杰. 一种利用CATIA软件对球面进行快速展开的方法[J]. 科学技术创新, 2018(17): 18-19.

  10. 10. 王士林. 球面展开图的计算机辅助计算[J]. 宁德师专学报, 1998, 10(4): 273-275.

  11. 11. 张智星. MATLAB程序设计与应用[M]. 北京: 清华大学出版社, 2002.

期刊菜单