訾乃全
北京航天自動控制研究所,北京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.