訾乃全
北京航天自动控制研究所,北京100854
产品结构草图设计作为产品结构设计的早期阶段,是设计人员灵感的“盛产期”。工程人员头脑中的想法是即时而过的,需要把它快速记录下来,本文针对产品的结构草图快速设计需求,巧妙利用多功能笔的交互能力,在航天工程草图设计过程中融合手势输入和笔划输入,提供了一个一体化的输入、编辑环境,提出“笔”输入模式的结构设计思想。文中从总体方案设计、软件架构、识别流程、核心软件识别匹配算法等方面对基于“笔”输入模式的产品结构草图快速设计系统进行深入详细的介绍。
开发基于“笔”输入的产品结构设计系统分为底层硬件环境及其配套软件,设计系统整体总体方案:开发设计出融合位置、压力、方向等功能敏感器的多功能设计光笔,配套对应的硬件系统的设备驱动程序,硬件工作平台PC 机安装配套软件,通过光笔和输入板输入草图信息后经过分离器预处理,笔划、手势、扩展手势识别,再进行图形数据库匹配,完成输入信息的整套处理过程,最后利用系统反馈模块显示草图,并通过人回路进行判断和后续处理,完成产品结构设计输入和草图生成的工作流程。其中基于“笔”输入的设计总体方案如图1 所示。
图1 基于“笔”输入模式的航天产品结构草图设计系统的总体框架图
其中系统硬件主要包括:具有高精度定位功能,融合笔压、笔划顺序等传感器的光笔;高精度分离液晶显示屏;一体化输入板等硬件开发平台。开发此种硬件环境是开创性的工作。其中核心硬件多功能光笔产品模型如图2 所示。
图2 “笔”输入模式的多功能光笔产品模型图
为实现产品结构草图快速设计的目的,设计“笔”输入软件结构时,为了整个软件系统结构清晰,功能明确,便于维护,该软件系统从层次结构来组建模块划分。层次结构的作用在于能把各层的软件功能单元分隔开,每一层向其上一层提供调用服务,并调用其下一层的服务,而与其他的层保持独立。本系统共分为5 层:硬件层、输入层、识别层、应用层和表示层。相应的,对数据的处理过程也是自下而上,数据是逐层向上路由的。各层的作用如下:
1)硬件层:由“笔”输入驱动模块组成。向上层提供与硬件无关的笔输入数据;
2)输入层:由“笔”输入平台模块组成。该层包装从硬件层获取的输入数据,并把它路由到上一层进行处理;
3)识别层:包含数据分离器模块、手势识别器、扩展手势识别器、“笔划”识别器4个模块。该层对路由来的数据分成手势和笔划,并分别进行相应的处理。识别层处理后的数据变成几何图元或手势ID;
4)应用层:该层对应于具体的应用,因此它是应用相关的。该层根据当前装载的模板库来进行语义解释,把手势ID 映射到具体的命令,把单独的几何元素组合成更有意义的图形;
5)表示层:表示层向用户输出有关的信息。把操作命令的结果及“笔划”识别的结果以一种直观自然的方式呈现给用户。
根据“笔”模式设计系统的物理层和功能层,软件系统整体框架见图3 中深色部分。
基于前述思想研制了“笔”输入模式原型系统,用于实现“笔”模式结构草图设计的相关技术,从预处理、分段、识别、约束调整、匹配,直到三维形体的构建,对原型系统的软件实现过程进行剖析。原始“笔”输入数据的处理流程如图4 所示。
图3 “笔”输入快速设计系统软件详细框架
图4 “笔”输入数据的处理流程图
“笔”模式进行结构草图设计时,核心点在于系统软硬件必须具备保持高度的“即时反馈交互”机制,为了达到高效反应特性,所设计的系统环境具备多线程支持能力。其中,系统中共使用了2个线程,一个是主线程,该线程在整个交互过程中是始终存在的。另一个线程是辅助线程,辅助线程不是静态的,而是由主线程在需要的时候动态创建。通过使用多线程,用户的输入过程不会被识别过程中断,较好地解决了即时反馈的问题。其中多线程反馈交互流程如图5 所示。
“笔”输入的图形类型包括直线、曲线、复合体等,主要涉及“笔”输入圆、圆弧、椭圆等特殊图形的识别方法,为基于“笔”输入模式的数据处理核心算法。从“笔”模式输入数据后,经过“笔划“的整序、断点重连和真实交点3种原始数据的预处理,并且对其进行必要的主动分段划分,有利于后期识别算法的拟合计算。这里重点阐述输入的二次曲线的识别算法。
图5 基于“笔”输入模式的多线程反馈交互流程
二次曲线包括圆、圆弧、椭圆、椭圆弧等曲线类型,并且可以用一个统一的方程式来描述,因此对它们的识别采用同一种方法。以下把它们统称为椭圆类曲线。对于二次曲线,常用的拟合方法是最小二乘法。椭圆类曲线的最小二乘拟合方法以下面的标准方程表示。
设有n个输入点P1,P2,…,Pn,任一点Pi 的坐标为(xi,yi),则f(xi,yi)表示点Pi 相对于该椭圆的偏差。
根据最小二乘法的原理,拟合的误差表示为:
对式(2)求偏导数,确定方程(4)的Esum 极值,联立方程组如下:
把式(3)展开为关于a,b,c,d 的线性方程组:
利用高斯消去法,求解上述方程组,并对求得的解进行合法性检测,以确定该解是否有意义。
式(2)中的Esum 反应了拟合的误差大小,但是与数据点的个数有关。为了消除数据点个数的影响,引入σ 来度量拟合的误差:
如果σ 过大,则意味着尽管我们从这些数据点中拟合出一条椭圆曲线,但是这条曲线与实际的数据点相差很大。这种拟合是不准确的,我们可能需要把这些数据点拟合成另外一种曲线。其中可接受的最大的σ 值为σmax,如果σ >σmax,则拟合不成功。σmax不是一个固定值,它与拟合出的椭圆的大小有关系。
在结构草图设计中,一个技术难点为三维产品草图设计。本文给出了基于特征的三维草图快速设计算例,包括基本实体和合成支架2个设计算例。这种基于特征的设计方法,符合人们的思维习惯。当设计完成之后,特征模型也就建立了,这个模型可为后续的制造过程所用。
通过“笔”模式设输入,在基于高精度定位功能光笔、高精度分离液晶显示屏、一体化输入板的硬件开发平台上,开展了产品的三维结构设计工作,设计结果如图6 和图7 所示。
基于特征的三维草图的设计流程如下:
1)首先,勾画二维手绘图形,进行识别和约束调整后,得到拓扑结构正确的整洁的二维几何图形;
图6 三维设计范例:基本的实体
图7 三维设计范例:合成支座
2)其次,从平面的二维图形中提取三维信息,建立三维草图,使设计过程变得快速和有效。一旦一个特征被识别出来,用户就不再需要输入完整的模型数据。如一个椭圆加一条拉伸边是圆柱体的特征,一旦该特征被识别出来,用户就不用继续输入该圆柱体投影图的其他边。用户可以任意的按照自己的习惯输入各条边,系统在后台自动地检查三维特征,一旦检测到就建立该实体。
工程草图设计是一项带有创造性的工作,自由勾画是原始灵感设计“胚胎”方式。本文设计的基于“笔”模式的快速航天产品设计理念,使得产品草图设计在其理论、方法以及实现手段上都必须进行重新认识和创新。其中直接交互技术是未来的发展方向,充分利用直接交互技术的优势,能使得整个草图设计过程更加自然、流畅。
[1]董士海.计算机用户界面及其工具[M].北京:科学出版社,1994.
[2]董士海,王坚,戴国忠. 人机交互和多通道用户界面[M].北京:科学出版社,1999.
[3]M.B. Clowes. On Seeing Things[J]. Artificial Intelligence,1971,2(1):79-112.
[4]D. A. Huffman. Impossible Objects as Nonsense Sentences[M]. Machine Intelligence,Edinburgh:Edinburgh University Press,1971.