泛在环境下的协同设计技术研究及应用

2023-05-17 03:16魏威王庆秀刘冰边静
电子技术与软件工程 2023年5期
关键词:线程音频会议

魏威 王庆秀 刘冰 边静*

(1.山东山大华天软件有限公司 山东省济南市 250101)

(2.山东华天智能设计与数字化制造技术创新中心有限公司 山东省济南市 250101)

随着智能制造的不断推进,以互联网、云计算等为代表的新一代信息科技加速与工业软件相互融合,研发设计系统在软件架构和应用层面都在不断衍变。其中,应用层面从C/S 应用逐步转变为B/S 及移动端应用,泛在环境下多用户多终端的协同设计也变得尤为重要。

现代制造业存在分工更细致,质量体系更全面,交互频率更高的特点。对于CAD 模型的设计往往需要进行大量的设计和评审讨论,但传统的会议模式受限于时间和地域条件,会出现评审成本高昂、评审过程复杂、交互不及时的问题;而网络会议模式,使用三维CAD软件进行演示,解决了时间和地域的限制,但往往是主持人演示,其他人员只能接受,参与感不强,使会议交流不顺畅,评审质量较低。国内外学者围绕协同设计的诸多问题进行了研究[1],目前在一些深层次的技术问题上还有待深入研究。针对产品在线设计过程中的多终端高效浏览及实时协同评审的问题,本文提出了一种适用于多终端高效浏览与协同设计评审的系统,可极大地降低设计过程中的交互成本,提高交流效果,满足用户随时随地进行设计协同的需求,提升三维CAD 协同设计工作的效率。

1 泛在环境下的协同设计技术

泛在环境,是指人们可跨手机、PAD、电脑等不同终端以及Windows、安卓、苹果等不同操作系统,随时随地进行交互交流的环境。

协同设计,是指为了完成某一设计目标,由两个或两个以上设计主体,通过一定的信息交换和相互协同机制,分别以不同的设计任务共同完成这一设计目标,是快速制造的重要方法和手段。目前传统的协同方式中,网络视频会议系统对电脑的配置要求较高,同时需要安装三维CAD 软件,主持人演示模型时往往存在卡顿问题,每个参会人员不能即时查看自己关注的点,使评审会议不能顺畅的开展,降低了设计评审的质量。针对多用户之间三维数据交流和共享困难的问题,本文研究了泛在环境下的协同设计技术,提出了一种适用于多终端高效浏览与协同设计评审的系统。

1.1 系统架构

该协同设计系统通过研究复杂三维模型实时动态显示及面向用户体验的建模过程人机交互等技术,形成集三维模型轻量化技术、三维操作协同、多种通讯方式以及多平台技术等功能特点于一体的三维轻量可视化协同设计系统,支持各种主流CAD 数据的转换,支持用户深层次的专业开发,可满足模型实时共享与传递、快速评审与交互等需求,使分布在不同地点、隶属不同企业或部门的设计师不受地域、时间、设备的限制,随时随地的进行三维协同设计工作。

该协同设计系统主要分为三层结构,包括数据转换层、基础服务层、会议协同层。如图1 所示,其中:

图1: 协同设计架构图

数据转换层,主要实现异构CAD 数据的转换和轻量化,并形成国产自主知识产权的轻量化格式文件(.SVLX),用于上层的可视化浏览。多任务管理、配置管理、用户管理等模块允许同时进行多个模型的转换,并以队列服务的形式进行数据管理。CAD 数据转换引擎(CAD Conver Core)、轻量化以及数据管理引擎(SVL DataManager),分别负责处理CAD 格式的解析和相关模型管理工作。

基础服务层,主要实现三维可视化数据的管理和基础功能支持。包括文档管理、数据管理、数据安全服务、消息传输服务等业务功能,同时可分用户、权限进行业务处理,并支持多样化的选项配置。

会议协同层,主要实现模型的三维可视化浏览服务及会议协同相关服务。包括基本浏览、尺寸标注、批注、爆炸图、动画播放等模块,并包含对于三维场景实体的显示/隐藏、移动/复位等机制和辅助功能支持。同时,也提供了协同会议的会议管理及协同操作和音频、视频协同功能。

1.2 技术分析

针对产品在线设计过程中远程设计交流成本高、交流效果差的问题,本文提出了一种适用于多终端浏览与协同设计评审的系统,满足用户进行在线实时设计交流的需求。该系统具备多终端高效浏览技术,为大众用户提供高质量高效的模型浏览,提高协同交互的效率;具备多终端协同评审技术,解决多用户之间实时查看、批注模型及视频交流等问题,为协同设计提供便捷工具。该系统是模型快速打开、高质量显示、流畅浏览及批注、音频、视频交互需求于一体的轻量化协同设计系统,为多用户设计交流提供软件支撑。

1.2.1 多终端高效浏览技术

针对不同的三维浏览应用场景,研究多终端高效浏览技术,提供了Windows 版、国产移动操作系统版和Web 版产品,软件架构图如图2 所示。

图2: 多终端高效浏览架构

为确保在普通机器上也可以实现模型的快速、高效的浏览,该技术采取了多种性能优化方案[2],具体如下:

1.2.1.1 基于BVH 的场景划分

利用BVH 表达空间结构,在转换为BVH 树的过程中,将逻辑的层次关系展平,显示用的节点包含OpenGL 管理的VBO 顶点缓存, 放在一维的数组中,通过BVH 来索引。为了节省内存,几何数据传入显示节点后,从场景图中删除。

1.2.1.2 场景剔除

利用BVH 进行视口剔除和小件剔除,可动态控制物体显隐,减少显卡负荷。

(1)视口剔除:视口剔除适合大场景浏览,在浏览模型局部细节时发挥作用。视口剔除将相机视锥体与BVH 结构作相交运算,可快速得到在视锥体内的物体索引,之后OpenGL 只会渲染这部分物体。

(2)小件剔除:小件剔除在相机拉远时起作用,当物体包围盒在屏幕上的投影小于指定像素值时,此物体不被渲染。BVH 会根据包围盒大小对物体进行排序,从而可以快速进行小件剔除。

1.2.1.3 渐进显示

将需要绘制的模型按照一定的策略进行划分,放在对应的绘制队列中,循环该队列进行分块绘制,在每次循环结束时获取当前鼠标事件,捕捉到相关的事件后退出绘制队列,对场景进行重新绘制。

1.2.1.4 优化图形管线

采用shader 动态管线绘制方式,改善渲染效果、提高显示性能。将相同颜色面进行合并,不影响拾取和其它功能。

通过上述性能优化方案,能够满足大装配模型的快速打开、高质量显示、流畅浏览及交互需求。

1.2.1.5 优化移动端渲染性能

在移动操作系统中,对渲染引擎的业务逻辑进行优化:

在图形绘制阶段,采用优化的内核场景图结构,根据不同数据模型状态,针对性使用多线程、LOD、小件实时剔除、视景体剔除、VBO 等技术。同时使用基于移动端内核的性能测试工具来进行测试和调优,保证绘制的效率和性能。

优化3D 图形显示核心,实现多面片数据的读取与显示;支持VBO,充分利用GPU 设备性能;支持LOD,实现多面片数据的流畅显示;支持小件剔除和视景体剔除技术,减少实际渲染三角面片数,提升显示效率;提供对OpenGL ES2.0 的原生支持,最优化使用系统图形API。

1.2.1.6 兼容适配国产移动操作系统

通过将渲染内核针对国产操作系统进行交叉编译,通过QT C++等技术移植业务层功能,并针对操作系统特点进行优化改进,可实现在国产移动操作中运行该三维引擎,展示浏览三维模型。

1.2.2 多终端协同评审技术

针对上下游企业间的协同评审业务场景,研究多终端协同评审技术,研发了协同会议等协同评审功能[3]。用户可在客户端将三维模型处理为轻量化文件,去除模型中的关键设计信息,然后发起协同会议,从而进行设计评审会签等相关工作[4]。设计评审的架构及业务流程,如图3 所示。

图3: 协同会议流程图

1.2.3 命令流同步技术

针对多终端的操作协同数据同步操作,协同设计系统采用了命令流同步技术。通过将用户的功能操作(如:旋转、缩放、平移、批注、测量、爆炸、剖切等操作命令)转换为命令流的方式,将命令流发送到服务器。服务器通过命令队列以相应的策略组织命令流,同时保证命令的同步性。在多个用户同时进行操作时,可保证操作按照正确的先后顺序被执行,并且同步到客户终端,避免命令冲突和不一致的情况。

在命令队列中,互斥锁和多线程技术被用于确保线程安全和并发执行命令。

首先,互斥锁技术可避免多个线程同时修改同一个队列。可通过在对队列进行任何修改之前获取互斥锁,然后在修改完成后释放锁来实现。这样,只有一个线程可以修改队列,并且其他线程必须等待锁被释放后才能继续执行。

其次,多线程技术可用于并发执行命令队列中的命令。可以使用多个线程从队列中获取命令并执行。在这种情况下,每个线程都需要获取互斥锁来避免多个线程同时访问同一个队列元素。此外,线程需要采用适当的同步机制来确保每个命令都被正确执行,并且不会发生竞态条件或死锁等问题。

例如,可以使用条件变量来同步线程执行。线程可以在执行命令之前等待条件变量,然后当队列中有新的命令时,其他线程可以通过通知条件变量来唤醒等待的线程。这样可以确保命令在正确的顺序下被执行,并且线程可以有效地利用多核CPU 的优势。

总之,命令流同步技术是协同设计中实现并发执行命令的重要技术,可以提高系统的并发性和响应能力。

1.3 功能模块

协同设计系统中具备基础浏览功能、会议管理功能、多媒体会议功能和三维协同功能四大功能模块:

1.3.1 基础浏览功能

(1)基本三维操作:支持旋转、缩放、平移操作。

(2)选择操作:支持单选、取消选择操作。

(3)装配管理器:支持装配BOM 节点的选择,图形区模型会高亮显示;勾选/取消勾选BOM 节点,图形区模型会执行显示/隐藏操作。

(4)复位:模型恢复到初始化显示方位。

(5)基本视图:支持主视图、后视图、左视图、右视图、仰视图、俯视图、轴测图操作,可自由切换视图方位。

(6)选择移动:支持移动、旋转和缩放零部件操作。

①移动:支持移动零部件位置,支持任意、沿平面、沿X 轴、沿Y 轴和沿Z 轴移动方式,可自定义移动距离。

②旋转:支持旋转零部件位置,支持任意、沿X 轴、沿Y 轴和沿Z 轴旋转方式,可自定义旋转角度。

③缩放:指定支持缩放零部件形状,支持任意、沿平面、沿X 轴、沿Y 轴和沿Z 轴缩放方式,可自定义缩放长度。

(7)选择复位:通过移动、旋转、放大或缩小编辑操作使零部件发生位置或形状变化,使用恢复命令使零部件恢复初始位置和大小。

(8)隐藏:可以隐藏指定零部件。

(9)批注:支持画笔批注添加和删除;支持手绘批注添加和删除;支持文本批注添加、编辑和删除;支持序号批注添加、编辑和删除。分别以不同的形式展现。

(10)剖切:支持XY、YZ,XZ 剖面,可设置剖切方向,提供剖切面显示/隐藏开关。

(11)爆炸:支持以模型中心炸开、沿X 轴方向炸开、沿Y 轴方向炸开方式,拖动调整炸开距离,可重新恢复初始位置。

(12)测量:支持尺寸和角度测量。

①尺寸测量:支持点点、点线、点面、线线、线面、面面的尺寸测量方式。

②角度测量:支持线线、线面、面面的角度测量方式。

(13)动画:支持装配仿真动画的播放,可设置动画开始播放、暂停播放、循环播放、播放速度自定义、自动漫游选项。

1.3.2 会议管理功能

(1)创建会议:主持人输入会议主题和密码(密码可以不设置),可创建发起会议。

(2)加入会议:参会人员可加入已创建的会议,加入会议提供以下两种方式:

①方式1:在会议列表选择要加入的会议,加入会议;

②方式2:在会议号页面,需输入会议号、昵称和密码信息,加入会议。

(3)会议设置:可重新设置会议站点、昵称、账号和密码用户信息。

(4)退出会议:参会人员退出当前会议。

(5)会议信息:可查看会议主题、会议号、主持人和参会人员昵称。

1.3.3 多媒体会议功能

(1)文本交流:在会议中可接收与发送文本消息,参会人员都可查看消息记录。

(2)音频交流:实时音频交流,支持多人共同音频,选中音频按钮即可进行语音交流。

(3)视频交流:实现视频交流,支持多人共同视频,可设置音频和视频是否打开。

1.3.4 三维协同功能

(1)初始化场景:支持会议使用模型的推送、下载、打开和关闭,主持人使用模型会推送给各参会人员,让所有参会人员的场景保持相同。

(2)操作指示:控制当前用户对模型的操作是否进行协同。

(3)位置指示:控制是否显示鼠标位置,可以同步显示给其他参会人员。

(4)三维浏览:协同会议操作同时支持常用的三维浏览功能,如基本三维操作、选择、移动、复位、视图、批注等。

1.4 技术优势

该协同设计系统具备以下优势:

(1)应用三维轻量化技术,保留了原始模型的结构树、几何外形、颜色等重要信息,同时去除了原始模型中的关键设计信息,保证了模型信息的安全使用。

(2)相比于传统的互联网会议系统,三维模型交互操作的协同评审,更加直观形象,能够提高评审效率及质量。

(3)不受时间、地点等因素限制,用户只要接入互联网,就能以文字、语音、视频、数据共享等多种方式即时沟通,提升三维CAD 协同设计工作的效率。

(4)该系统软件安全可控,功能支持深度定制开发。

(5)减少设计师的出差次数,节省工作时间,降低差旅成本。

(6)支持多平台应用,使用PC、移动设备均可参与协同会议讨论。

2 协同设计技术在智能制造中的应用

通过协同设计系统进行在线用户之间的设计分享与实时交流,支持在多终端设备上进行协同设计。下面以减速器的三维模型协同设计为例,展示多用户通过初始化场景、文字、声音、视频及鼠标操作的方式进行远程协同交流。

2.1 初始化场景

在会议中支持推送、下载、打开和关闭模型,主持人使用模型会推送给各参会人员,让所有参会人员的场景保持相同。加入会议场景初始化前后的效果对比,如图4 所示。

2.2 通过文字进行交流

在会议中可接收与发送文本消息,参会人员都可查看消息记录,每个用户发过来的信息会自动记录。文字交流效果,如图5 所示。

图5: 文字交流

2.3 通过音频进行交流

在会议中实现实时音频交流,支持多人共同音频,选中音频按钮,使用耳机麦克或电脑自带音频设备,即可进行语音交流。音频交流效果,如图6 所示。

图6: 音频交流

2.4 通过视频进行交流

在会议中实现视频交流,支持多人共同视频,参会人员可自己设置音频和视频是否打开,点击显示框上的视频图标,打开后其他用户才会看到视频影像。视频交流效果,如图7 所示。

图7: 视频交流

2.5 通过鼠标操作进行交流

(1)操作指示:通过功能按钮,可控制当前用户对模型的操作是否进行协同。

①当按钮抬起时,当前用户对模型的操作不会同步到会议中,效果如图8 所示。

图8: 用户和会议显示状态不同

②当按钮按下时,当前用户对模型的操作会同步到会议中,效果如图9 所示。

图9: 用户和会议显示状态相同

(2)位置指示:通过功能按钮,控制是否显示当前用户的鼠标位置,可以同步显示给其他参会人员。当前用户鼠标放置位置的前后显示对照区别,如图10 所示。

图10: 显示前后对照区别

①当按钮抬起时,其他用户不会看到当前用户的鼠标放置位置;

②当按钮按下时,其他用户会看到当前用户的放置位置。

3 结束语

本文通过研究协同设计技术,提出了一种适用于多终端高效浏览与协同设计评审的系统,提供多终端协同设计的实时交流工具,可极大降低设计过程中的交互成本,提高交流效果,满足泛在环境下设计协同的需求,可广泛应用于制造业企业,促进企业内部和产业链上下游协同效率提升,促进制造业提质升级。

猜你喜欢
线程音频会议
会议通知
必须了解的音频基础知识 家庭影院入门攻略:音频认证与推荐标准篇
基于Daubechies(dbN)的飞行器音频特征提取
会议通知
音频分析仪中低失真音频信号的发生方法
浅谈linux多线程协作
ISO/TC8/SC8 期间会议在沪召开
Pro Tools音频剪辑及修正
基于上下文定界的Fork/Join并行性的并发程序可达性分析*
Linux线程实现技术研究