国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Open Inventor的座椅壓力圖形化顯示

2018-02-25 11:54周浩杰高峰石金繼
電子技術(shù)與軟件工程 2018年11期
關(guān)鍵詞:機(jī)軟件圖形化視圖

周浩杰 高峰 石金繼

摘要 通過壓力傳感器獲取座椅上的壓力值分布數(shù)據(jù),基于vc++與Open Inventor編寫上位機(jī)軟件,將壓力分布數(shù)據(jù)通過串口通信方式實時上傳到上位機(jī),將獲得的數(shù)據(jù)實時顯示在上位機(jī)上,并將數(shù)據(jù)繪制成三維圖像,使設(shè)計人員不必面對一系列復(fù)雜、抽象、雜亂的數(shù)據(jù),便于分析座椅壓力分布是否合理,減少設(shè)計人員設(shè)計座椅的難度。

[關(guān)鍵詞]座椅 Open Inventor圖形化顯示vc++

1 引言

座椅在人們的生活中十分普遍,辦公室工作的人大部分工作時間是在座椅上度過的。長時間的坐姿容易使人產(chǎn)生疲勞。大量研究表明,一個設(shè)計良好的座椅,可以有效地緩解長時間工作帶來的疲勞。以往在設(shè)計座椅的時候,設(shè)計師們往往采用傳統(tǒng)的人機(jī)工程學(xué)理論和方法來評價座椅是否舒適,這種評價方式的客觀性很容易受到測試者自身的影響,很少考慮到座椅和人體之間的壓力分布情況。通過壓力傳感器獲得人體與座椅之間的壓力分布數(shù)據(jù),并通過上位機(jī)直觀的展現(xiàn)出來,設(shè)計人員就能夠了解人體各部位所承受的壓力,進(jìn)而改善座椅的結(jié)構(gòu)。如何有效地表達(dá)和顯示人體對座椅壓力的分布情況將是設(shè)計人員面臨的一大問題。因此,對于基于Open Inventor的座椅壓力圖形化顯示上位機(jī)軟件的研究就很有必要了。通過該上位機(jī)軟件設(shè)計人員可以直觀地觀察人體和座椅接觸面之間的壓力分布情況,從而設(shè)計出更加人性化、更加舒適的座椅,減輕座椅給人體帶來的不舒適感。

2 0pen Inventor簡介

Open Inventor是一個面向?qū)ο蟮?、廣泛應(yīng)用于三維場景的圖形軟件開發(fā)包。它作為一組組件庫,能夠以最少的代碼編寫出強(qiáng)大的圖形硬件功能的程序。Open Inventor構(gòu)建復(fù)雜三維場景一般比OpenGL方便得多。這是因為Open Inventor構(gòu)建三維場景的方式完全不同于OpenGL,這種構(gòu)建方式類似于“搭積木”的方式。通過對象與對象之間的直接拼接、組合來構(gòu)造復(fù)雜、優(yōu)美的三維場景是十分方便、快捷、直觀的。

3 軟件的功能分析及流程設(shè)計

3.1 軟件功能分析

上位機(jī)軟件的主要任務(wù)是將一系列抽象而雜亂的數(shù)據(jù)通過一定的處理轉(zhuǎn)化為可視的、直觀的三維圖像,從而實現(xiàn)對座椅壓力分布情況的監(jiān)測,通過對座椅壓力分布情況的進(jìn)一步分析,從而能夠了解座椅的舒適性。因此,上位機(jī)軟件需具備以下幾項主要功能:

(1)樣本數(shù)據(jù)的顯示。設(shè)計人員可以清楚的觀察到人體和座椅之間指定位置處的壓力數(shù)據(jù)。

(2)實時數(shù)據(jù)三維圖形化顯示。設(shè)計人員可以實時且直觀地觀察人體與座椅之間的壓力分布情況。

3.2 軟件開發(fā)流程

根據(jù)實際功能的需要,對座椅壓力圖形化顯示上位機(jī)軟件的開發(fā)流程進(jìn)行設(shè)計,從而實現(xiàn)采集數(shù)據(jù)在下位機(jī)與上位機(jī)之間的數(shù)據(jù)傳輸與處理。接收到的數(shù)據(jù)顯示方式有兩種:一種是樣本數(shù)據(jù)在ListCtrl控件上直接顯示,另一種是先在樣本數(shù)據(jù)的基礎(chǔ)上利用MATLAB三次貝塞爾插值函數(shù)獲得新數(shù)據(jù),再將這些新數(shù)據(jù)經(jīng)過Open Inventor的處理,從而實現(xiàn)數(shù)據(jù)圖形化顯示。

開發(fā)流程如圖1所示。

該流程分為三個步驟。第一步,STM32通過壓力傳感器獲取人體對座椅的壓力數(shù)據(jù)并傳入到串口內(nèi)存中。第二步,通過通信協(xié)議將上位機(jī)和下位機(jī)連接在一起,并將測得的數(shù)據(jù)實時地傳送給上位機(jī)軟件。第三步,上位機(jī)軟件完成數(shù)據(jù)的接收、數(shù)據(jù)的顯示和數(shù)據(jù)三維圖形的繪制。

4 上位機(jī)程序設(shè)計

4.1 窗口視圖靜態(tài)分割程序設(shè)計

在MFC的SDI視圖中,默認(rèn)情況下一個文檔只能對應(yīng)于一個視圖,這樣不能很好的完成數(shù)據(jù)的顯示功能。為了更好的顯示樣本數(shù)據(jù)和座椅壓力圖形化的分布視圖,這就需要有兩個視圖類,可以利用CSplitterWnd::CreateStatic對視圖進(jìn)行靜態(tài)分割,同時使用CreateView函數(shù)添加新視圖。將原始視圖分割為兩個視圖,CFormView視圖類用來顯示樣本數(shù)據(jù),CView視圖類用來繪制數(shù)據(jù)壓力分布的三維圖形。

4.2 MATLAB插值程序設(shè)計

基于樣本數(shù)據(jù)不足以繪制出平滑、精致的三維曲面,因此,需要利用某種插值函數(shù)對樣本數(shù)據(jù)進(jìn)行處理。Visual C++ 2008本身并沒有直接用來進(jìn)行插值的函數(shù),而MATLAB是一個強(qiáng)大的數(shù)學(xué)和圖像處理工具。為了使Visual C++ 2008能使用MATLAB中的功能函數(shù),需要對其進(jìn)行一定的處理。它的基本思想是:把MATLAB中的功能模塊作為一個函數(shù),再通過MATLAB的某些指令,將函數(shù)轉(zhuǎn)化成動態(tài)鏈接庫(dll)文件,Visual C++2008便可直接調(diào)用特定的接口函數(shù),從而實現(xiàn)調(diào)用MATLAB中的功能函數(shù)的目的。

4.3 樣本數(shù)據(jù)顯示程序設(shè)計

在類向?qū)е刑砑覥SplitterWndView類,基類選擇為CFormView,該視圖顯示樣本數(shù)據(jù)。為了更直觀、條理的顯示樣本數(shù)據(jù),這里使用ListCtrl控件。

4.4 座椅圖形化顯示程序設(shè)計

在類向?qū)е刑砑覥PaintOIV類,基類選擇為CView,該視圖顯示樣本數(shù)據(jù)。文檔視圖框架將數(shù)據(jù)處理和視圖顯示聯(lián)系在一起,當(dāng)文檔數(shù)據(jù)改變時,在視圖類中調(diào)用文檔UpdataAllViews成員函數(shù)即可以更新視圖。

5 運行效果

上位機(jī)軟件運行界面如圖2所示。

該上位機(jī)軟件可以實現(xiàn)如下功能:

(1)通信端口可選:可以從COM1、COM2. COM3. COM4. COM5、COM6.COM7中選擇合適的通信端口。默認(rèn)端口為COMl;

(2)實時、準(zhǔn)確地將下位機(jī)上傳的數(shù)據(jù)顯示出來;

(3)將接收到的實時數(shù)據(jù)進(jìn)行三維圖形繪制,顯示數(shù)據(jù)的大小和分布。

6 結(jié)論

通過獲取人體對座椅的壓力數(shù)據(jù),并以直觀的三維圖像顯示,座椅設(shè)計人員可以很好地了解座椅設(shè)計的是否合理,從而對座椅進(jìn)一步改良,設(shè)計出更加舒適的座椅。本文對座椅壓力分布的圖形化顯示展開了研究,取得如下成果:

(1)使用C++語言和Visual C++ 2008開發(fā)平臺開發(fā)軟件,并進(jìn)一步完成和OpenInventor的混合編程。

(2)使用Visual C++ 2008的可視化界面,根據(jù)功能需求設(shè)計出座椅壓力圖形化顯示上位機(jī)軟件,實現(xiàn)了對座椅壓力數(shù)據(jù)的直觀、形象的三維圖形實時顯示等功能。

(3)對上位機(jī)軟件進(jìn)行實時測試,運行狀態(tài)良好。

參考文獻(xiàn)

[1]葉佳桐,譚研.汽車駕駛員座椅舒適性仿真方法…,中國農(nóng)業(yè)大學(xué)學(xué)報,2016,8 (04):35-37.

[2]王琨,基于CAN總線老人服務(wù)機(jī)器人通信方法的實現(xiàn)[J].現(xiàn)在制造工程,2016,23 (02): 45-48.

[3]蔡磊,基于Open Inventor產(chǎn)品三維可視化系統(tǒng)研究[D].重慶:重慶大學(xué),2012.

[4]張立科.Window API函數(shù)參考手冊[M],北京:人民郵電出版社,2002.

猜你喜歡
機(jī)軟件圖形化視圖
LKJ自動化測試系統(tǒng)圖形化技術(shù)研究
視圖
Y—20重型運輸機(jī)多視圖
SA2型76毫米車載高炮多視圖
道岔監(jiān)測系統(tǒng)上位機(jī)軟件設(shè)計
基于正交試驗法的北斗用戶機(jī)軟件測試用例設(shè)計
運用圖形化聽寫式復(fù)習(xí),構(gòu)建高效地理課堂
PCI-e高速數(shù)據(jù)采集卡的驅(qū)動與上位機(jī)軟件設(shè)計
圖形化地區(qū)電網(wǎng)無功優(yōu)化軟件開發(fā)與應(yīng)用
圖形化儀表控制系統(tǒng)上位機(jī)軟件的設(shè)計與開發(fā)