亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Unity3D的虛擬康復(fù)機(jī)器人實(shí)時(shí)動(dòng)態(tài)演示

        2020-07-10 09:16:58劉方全林澤磊劉偉堯李景濤
        科學(xué)與財(cái)富 2020年13期

        劉方全 林澤磊 劉偉堯 李景濤

        摘 要:選取已完成的上肢康復(fù)機(jī)器人本體為研究對(duì)象,使用SolidWork軟件對(duì)上肢康復(fù)機(jī)器人進(jìn)行三維建模,使用3DsMax對(duì)模型附加材質(zhì)調(diào)整坐標(biāo)軸等。將調(diào)整好的三維模型導(dǎo)入U(xiǎn)nity3D軟件當(dāng)中,并且用MFC建立康復(fù)機(jī)器人的控制面板。控制面板上各電動(dòng)機(jī)的轉(zhuǎn)動(dòng)參數(shù)一方面同過(guò)串口下發(fā)給康復(fù)機(jī)器人本體,控制其運(yùn)動(dòng)。另一方面通過(guò)Socket通信傳遞給Unity3D,控制康復(fù)機(jī)器人模型的運(yùn)動(dòng)。通過(guò)康復(fù)機(jī)器人模型的運(yùn)動(dòng)實(shí)時(shí)展現(xiàn)機(jī)器人本體的運(yùn)動(dòng)狀態(tài)。

        關(guān)鍵詞:上肢康復(fù)機(jī)器人;Unity3D;Socket通信

        1 三維模型的建立

        1.1 上肢康復(fù)機(jī)器人模型的建立

        上肢康復(fù)機(jī)器人是比較復(fù)雜的機(jī)械系統(tǒng),為了保證仿真結(jié)果與真實(shí)接近,所有的零件都按照電子版圖提供的數(shù)據(jù)進(jìn)行1:1建模,使用SolidWork軟件建立各個(gè)零件的實(shí)體模型,并將生成的零件裝配成總體,生成stl文件格式,導(dǎo)入到3DsMax中,在對(duì)各個(gè)零件添加材質(zhì)和貼圖。

        1.2 人物模型的建立

        為使上肢康復(fù)機(jī)器人的模擬動(dòng)畫能真實(shí)的體現(xiàn)上肢康復(fù)機(jī)器人本體的運(yùn)動(dòng)狀況,人物模型的尺寸應(yīng)充分考慮到康復(fù)機(jī)器人模型的尺寸,應(yīng)使人物模型的腕關(guān)節(jié)、肘關(guān)節(jié)、肩關(guān)節(jié)與康復(fù)機(jī)器人的各關(guān)節(jié)相對(duì)應(yīng),盡量保證人物模型與康復(fù)機(jī)器人的各關(guān)節(jié)同軸,這樣能使展示效果更加逼真。

        人物模型分為對(duì)頭部和身體的建模,在3DsMax中采用多邊形建模方法,建立人物的初步模型,然后對(duì)人物模型添加平滑組,這樣可以增加模型的光滑度,然后為人物模型添加材質(zhì)和貼圖形成最終的效果圖。

        1.3 骨骼和綁定的添加與調(diào)整

        人物模型必須綁定骨骼才能實(shí)現(xiàn)模型的運(yùn)動(dòng),首先用biped建立一個(gè)骨骼系統(tǒng),在運(yùn)動(dòng)命令面板,點(diǎn)擊biped卷展覽的figure mode。在各視圖中,使用旋轉(zhuǎn)縮放位移的方式,調(diào)整骨骼的位置與模型的位置,讓二者對(duì)齊,調(diào)整好其中的一部分之后,復(fù)制到另一半上。

        骨骼建立完成之后必須與模型進(jìn)行綁定,常用的綁定方式有skin和physique兩種綁定方式,一般來(lái)說(shuō)兩者沒(méi)有本質(zhì)的區(qū)別,在進(jìn)行動(dòng)畫制作時(shí)都可以使用。但是如果使用physique將骨骼與模型進(jìn)行綁定,將生成的新模型導(dǎo)入到Unity3D時(shí),會(huì)產(chǎn)生一些列問(wèn)題。而使用skin不會(huì)存在這樣的問(wèn)題,所以此次綁定使用skin進(jìn)行綁定。

        1.4 模型的導(dǎo)出及注意的問(wèn)題

        在3DsMax中的運(yùn)動(dòng)控制命令中,將人物模型和康復(fù)機(jī)器人模型進(jìn)行調(diào)整,最終效果圖如圖1所示,并將生成的模型生成Fbx格式導(dǎo)入到Unity3D當(dāng)中,導(dǎo)出的模型應(yīng)主要考慮3方面:坐標(biāo)軸、比例和貼圖。

        2 康復(fù)機(jī)器人控制面板與Unity 3D之間的Socket通信

        2.1 Socket簡(jiǎn)介

        Socket通常也叫作“套接字”,是一種建立在傳輸層協(xié)議上的通信機(jī)制。最初是由美國(guó)加州Berklry大學(xué)提出,為UNIX操作系統(tǒng)開發(fā)的網(wǎng)絡(luò)通信接口,它定義了兩臺(tái)計(jì)算機(jī)間的通信規(guī)范(也就是一種編程規(guī)范)[2]。Socket通信屏蔽了網(wǎng)絡(luò)傳輸傳輸中低層通信協(xié)議的復(fù)雜性和差異性,使任意兩臺(tái)安裝TCP軟件的計(jì)算機(jī)之間通信成為了可能,而且因?yàn)镾ocket通信具有易于理解,便于掌握等特點(diǎn),目前已經(jīng)成為TCP/IP網(wǎng)絡(luò)最為通用的API,也是在Internet上進(jìn)行應(yīng)用開發(fā)最為通用的API[3]。

        2.2 Socket基本類型

        Socket通信主要有三種類型:流式套接字、數(shù)據(jù)報(bào)套接字和原始套接字。流式套接字是一種面向連接的套接字,能夠?qū)崿F(xiàn)無(wú)差錯(cuò)無(wú)重復(fù)的順序數(shù)據(jù)傳輸,內(nèi)設(shè)流量控制,避免數(shù)據(jù)流超限。數(shù)據(jù)被看成字節(jié)流,無(wú)長(zhǎng)度限制。數(shù)據(jù)報(bào)套接字是一種面向無(wú)連接的套接字,數(shù)據(jù)通過(guò)相互獨(dú)立的報(bào)文進(jìn)行傳輸,是無(wú)序的,并且不能保證數(shù)據(jù)傳輸?shù)目煽啃?,?shù)據(jù)的最大傳輸最大長(zhǎng)度為64KB。原始套接字允許對(duì)底層協(xié)議IP活I(lǐng)CMP直接訪問(wèn),主要用于網(wǎng)絡(luò)協(xié)議的測(cè)試,一般不會(huì)提供給普通用戶[4]。為了保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性,此次通信用到的是面向連接的流式套接字。

        2.3 Socket編程主要流程

        Socket通信才用來(lái)目前網(wǎng)絡(luò)編程流行的ClientSocket/SeverSocket模式,客戶/服務(wù)器模式通常是采用監(jiān)聽/連接的方式實(shí)現(xiàn)。首先,服務(wù)器端啟動(dòng)等待客戶端的請(qǐng)求,客戶端啟動(dòng)后請(qǐng)求一個(gè)連接,向服務(wù)器提出請(qǐng)求,服務(wù)器接到請(qǐng)求并驗(yàn)證后開啟連接,啟動(dòng)一個(gè)特殊的服務(wù)器端套接字,并與客戶端套接字相互連接。建立連接的過(guò)程是客戶機(jī)主動(dòng)申請(qǐng),服務(wù)器被動(dòng)等待。連接建立之后,雙方都可以自由發(fā)出數(shù)據(jù)的傳輸請(qǐng)求,也可以都發(fā)送數(shù)據(jù)[5]。

        服務(wù)器端:(1)服務(wù)器首先啟動(dòng),用Socket類建立一個(gè)Socket套接字;(2)調(diào)用bind函數(shù)將該套接字與本地IP地址和端口綁定;(3)調(diào)用listen監(jiān)聽連接情況(4)調(diào)用accept接受連接,并產(chǎn)生一個(gè)新的套接字。若無(wú)連接請(qǐng)求,服務(wù)器處于無(wú)限循環(huán)狀態(tài);(5)產(chǎn)生的新套接字與客戶端套接字建立連接,調(diào)用read、write函數(shù)與客戶端進(jìn)行通信,先前的套接字繼續(xù)用于監(jiān)聽客戶端的請(qǐng)求;(6)服務(wù)進(jìn)程調(diào)用close函數(shù)關(guān)閉監(jiān)聽套接字,中斷連接,終止服務(wù)。

        客戶端:(1)調(diào)用Socket建立一個(gè)Socket客戶端;(2)調(diào)用connect函數(shù)向服務(wù)器進(jìn)程發(fā)送連接請(qǐng)求;(3)調(diào)用read、write函數(shù)與服務(wù)器新線程進(jìn)行雙向通信;(4)完成通信后,客戶進(jìn)程調(diào)用close函數(shù),中斷連接。

        2.4 服務(wù)器與客戶端運(yùn)行結(jié)果

        將unity3D作為服務(wù)器端進(jìn)行編程,設(shè)置本地的IP地址為219.231.156.82,端口號(hào)設(shè)置為8000,設(shè)置后服務(wù)器的參數(shù)之后點(diǎn)擊運(yùn)行,然后將控制面板客戶端進(jìn)行編程,同樣設(shè)置本地的IP地址,并將需要發(fā)送的數(shù)據(jù)填寫完成之后,點(diǎn)擊“連接”按鈕,客戶端會(huì)提示連接成功,并將控制面板上的各參數(shù)發(fā)送給服務(wù)器,如圖2所示,并且服務(wù)器根據(jù)發(fā)送來(lái)的參數(shù)來(lái)控制康復(fù)機(jī)器人模型的運(yùn)動(dòng),來(lái)間接反映康復(fù)機(jī)器人本體的運(yùn)動(dòng)情況。

        4 結(jié)束語(yǔ)

        本文虛擬上肢康復(fù)機(jī)器人實(shí)時(shí)動(dòng)態(tài)顯示主要是由上肢康復(fù)機(jī)器人的建模和Socket通信兩部分實(shí)現(xiàn)的。通過(guò)Solidwork軟件在基礎(chǔ)建模方面方便快捷的特性建立上肢康復(fù)機(jī)器人的基礎(chǔ)模型,以及利用3DsMax軟件在模型渲染上的強(qiáng)大功能對(duì)模型進(jìn)行后續(xù)的加工處理,是模型更加真實(shí)。Socket可以提供C++和C#兩種語(yǔ)言的API函數(shù),剛好滿足了MFC和Unity3D這兩款軟件的編程要求,同時(shí)目前大多數(shù)進(jìn)程間的通信都是Socket編寫的,通過(guò)Socket編程可以方便快捷的實(shí)現(xiàn)進(jìn)程間的通信。

        參考文獻(xiàn):

        [1] 趙航. 基于下肢康復(fù)機(jī)器人虛擬現(xiàn)實(shí)技術(shù)的研究與實(shí)現(xiàn)[D]. 河北工業(yè)大學(xué), 2014.

        [2] 劉駿, 顏鋼鋒. 基于Socket的網(wǎng)絡(luò)編程技術(shù)及其實(shí)現(xiàn)[J]. 江南大學(xué)學(xué)報(bào)(自然科學(xué)版), 2004, 3(3):249-251.

        [3] 周炎濤, 李立明. TCP/IP協(xié)議下網(wǎng)絡(luò)編程技術(shù)及其實(shí)現(xiàn)[J]. 航空計(jì)算技術(shù), 2002, 32(3):122-124.

        [4] 李存斌, 汪兵. Delphi深度編程及其項(xiàng)目應(yīng)用開發(fā)[M]. 中國(guó)水利水電出版社, 2002.

        [5] 阮戈. 最新Unix程序設(shè)計(jì)與編程技巧[M]. 清華大學(xué)出版社, 2001.

        精华国产一区二区三区| 国产精品视频免费的| 日韩精品一区二区三区在线观看的| 久久精品熟女亚洲av香蕉| 人妻 偷拍 无码 中文字幕| 成熟人妻av无码专区| 久热re在线视频精品免费| 国产三级不卡在线观看视频| 国产乱子伦精品无码专区 | 久久久精品人妻一区二区三区妖精| 99热爱久久99热爱九九热爱| 秒播无码国产在线观看| 日本一区二区三区专区| 成年人一区二区三区在线观看视频 | 久久人妻少妇嫩草av蜜桃| 国产精品福利久久香蕉中文| 精品麻豆一区二区三区乱码| 少妇被又大又粗又爽毛片| 亚洲国产高清在线一区二区三区 | 一二三四在线观看视频韩国| 波多野结衣爽到高潮大喷| 玩弄放荡人妻一区二区三区| 亚洲啊啊啊一区二区三区| 国产精品久色婷婷不卡| 免费久久人人爽人人爽av| 五月天国产精品| av成人资源在线观看| 欧美奶涨边摸边做爰视频 | 午夜精品人妻中字字幕| 国产精品亚洲精品日韩已方| 欧美性开放bbw| 噜噜噜色97| 久久久精品毛片免费观看| 久久久g0g0午夜无码精品| 精品无码久久久久久久久粉色 | 在线亚洲AV不卡一区二区| 日韩美女av一区二区三区四区| 人妻插b视频一区二区三区| 亚洲天堂手机在线| 国产精品黄色av网站| 狠狠摸狠狠澡|