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

        ?

        基于R16的五子棋虛擬現(xiàn)實對弈系統(tǒng)設計

        2017-11-03 00:46:16陳睿祺郁佳佳諸程杰劉云卿徐葉菡
        電子器件 2017年5期
        關鍵詞:系統(tǒng)設計

        陳睿祺,郁佳佳,諸程杰,劉云卿,徐葉菡

        (東南大學成賢學院電子與計算機工程學院,南京 210088)

        基于R16的五子棋虛擬現(xiàn)實對弈系統(tǒng)設計

        陳睿祺,郁佳佳*,諸程杰,劉云卿,徐葉菡

        (東南大學成賢學院電子與計算機工程學院,南京 210088)

        基于R16芯片和IOIO模塊開發(fā)了一套五子棋虛擬現(xiàn)實對弈平臺。平臺基于IOIO模塊連接圖像識別模塊、落子系統(tǒng)模塊、遠程通信模塊,開發(fā)了針對五子棋棋盤的圖像識別軟件系統(tǒng)和機械落子系統(tǒng),實現(xiàn)了虛擬現(xiàn)實對弈功能,包括人機對弈和遠程對弈兩方面子功能。人機對弈功能通過圖像識別分析棋盤信息并作出決策,之后控制機械結構落子。遠程對弈功能根據遠程棋手決策指導機械機構完成落子,并再次采集棋盤信息反饋給遠程棋手。

        R16;IOIO;嵌入式系統(tǒng);圖像識別

        2016年3月15日Alpha Go以總比分4:1戰(zhàn)勝韓國棋手李世石,人機對弈又一次走進普通民眾視野并成為人工智能的代表應用形式。

        隨時計算機軟件技術的普及,人機對弈、虛擬現(xiàn)實對戰(zhàn)等應用軟件層出不窮,加之物聯(lián)網、嵌入式系統(tǒng)的軟硬件技術不斷發(fā)展,相應系統(tǒng)及軟件的設計思維向集成化、小型化、開源化等方面轉變,由此,虛擬現(xiàn)實對弈在人機交互方式和真實用戶體驗有著更高的要求。本文基于R16輔以IOIO制作了一個即時交互的五子棋虛擬現(xiàn)實對弈系統(tǒng),可實現(xiàn)五子棋人機對弈或遠程對弈。

        1 處理及控制平臺簡介

        1.1 R16簡介

        面對當下對嵌入式系統(tǒng)設計思維向集成化、小型化和高性能的需求,珠海全志科技股份有限公司設計了R16嵌入式系統(tǒng)芯片。

        硬件設計上,R16基于ARMCortex-A7架構,主頻最高可達1.6 GHz,主存512 MHz,擁有多種儲存接口及外設接口;采用Mali400作為圖形處理器;支持主流視屏格式的1 080 pixel的解碼與回放,支持Hi-Fi音頻解碼;最高支持5 Mpixel攝像頭;同時支持USB Host及USB OTG。R16結構功能框圖如圖1所示。

        圖1 R16結構功能框圖

        軟件平臺上,R16可直接運行Android 4.4操作系統(tǒng),通過Android系統(tǒng)的應用程序層進行JAVA編程操作即可實現(xiàn)應用功能。

        1.2 IOIO簡介

        IOIO是SparkFun公司以PIC24F為核心控制器針對Android 1.5版本以上操作系統(tǒng)設計的通用性開源控制模塊。IOIO硬件電路上集成了模擬輸入、I2C總線、SPI、UART、GPIO、PWM等多個功能[1]。

        IOIO通過USB或者藍牙可以直接與Android操作系統(tǒng)設備相連接,只需通過其提供的Java API接口進行Android編程即可直接對外部硬件I/O端口進行控制。目前,市面上主流兼容USB OTG的Android操作系統(tǒng)設備都兼容支持IOIO模塊。

        2 系統(tǒng)總體方案設計

        2.1 總體結構

        對弈系統(tǒng)主要由圖像識別模塊、落子系統(tǒng)模塊、遠程通信模塊3部分組成。通過圖像識別后將信息處理后通過落子系統(tǒng)模塊進行落子或通過遠程通信模塊與異地相同系統(tǒng)進行通信后通過落子系統(tǒng)模塊進行落子。系統(tǒng)模型圖如圖2所示

        圖2 系統(tǒng)模型圖

        2.2 硬件設計

        根據總體方案,若為人機對弈,首先通過OV2640攝像頭拍攝棋盤信息后發(fā)送至R16進行圖像識別處理,經過決策系統(tǒng)完成處理后通過USB OTG連接IOIO并對其IO口進行控制,進而控制步進電機的轉動圈數來控制絲杠、滑軌組成的機械結構到達處決策系統(tǒng)所處理處的落子位置,再控制舵機打開開關實現(xiàn)落子;若為遠程對弈通過WIFI模塊對數據進行發(fā)送與接收后控制機械結構實現(xiàn)落子。為了上述電路能夠正常工作,設計了可靠的供電模塊。對弈系統(tǒng)硬件結構如圖3所示。

        圖3 對弈系統(tǒng)硬件結構圖

        2.3 圖像識別設計

        本系統(tǒng)的落子識別設計基于OpenCV流程如圖4所示。首先對落子前的棋盤進行拍照得到圖片1;對圖片1設置感興趣區(qū)域[2]ROI(Region of Interest),同時進行角點識別確定棋盤上坐標位置予以記錄;落子后再次采集棋盤圖像得到圖片2,將圖片1與圖片2做差后得到目標圖片3;對目標圖片3進行雙邊濾波以降低光源產生的陰影和隨機產生的噪聲干擾;將濾波后的圖片進行二值化處理后使用Canny算法進行邊緣檢測;對檢測到的邊緣進行目標識別并進行圓心擬合得出圓心坐標;將圓心坐標與之前記錄的棋盤坐標進行數據比對后得出落子對應棋盤坐標。

        圖4 落子識別流程圖

        2.4 落子系統(tǒng)設計

        由IOIO對步進電機及舵機進行控制,R16將計算后得出的落子坐標對應指令通過USB 或者藍牙發(fā)送IOIO,進而IOIO輸出相應的脈沖波形用于控制步進電機實現(xiàn)精確的位移,到達對應坐標后,再控制舵機轉動實現(xiàn)落子。落子結束后IOIO方向信號反向使步進電機回到起始位置。

        圖5 系統(tǒng)軟件流程圖

        2.5 遠程通信設計

        在Java中,可通過openConnection()方法所返回的一個URLConnection對象與服務器建立通信[3]。由此通過sendPost()與sendGet()方法(發(fā)出請求參數,并使用BufferedReader讀取服務器響應)來實現(xiàn)字符串的發(fā)送與接收,在主線程中對以上兩個方法進行調用[4],即可完成字符串的接收與發(fā)送。

        3 系統(tǒng)軟件方案設計

        系統(tǒng)的軟件流程如圖5所示。

        3.1 圖像識別

        3.1.1 雙邊濾波

        在OpenCV中調用雙邊濾波函數:BilateralFilter()將參數分別設置為:d=15,σr=50,σd=140,雙邊濾波后的圖像對比如圖6所示。

        圖6 雙邊濾波圖像對比圖

        3.1.2 圓心擬合

        圓心的擬合原理基于霍夫(Hough)變換,霍夫變換的主要思想是利用點與線的對偶性,將原始圖像空間的給定的曲線通過曲線表達形式變?yōu)閰悼臻g的一個點。這樣就把原始圖像中給定曲線的檢測問題轉化為尋找參數空間中的峰值問題。而檢測圓時所對應的參數方程為r2=(x-x0)2+(y-y0)2,OpenCV中實現(xiàn)霍夫圓檢測算法主要使用兩個步驟。第1步,二維累加器應用于找到可能的圓的位置。由于在圓周上的點的梯度應該指向半徑方向,因此,對于每個點,只有沿著梯度方向的項才能得到增加(基于預定義的最大與最小半徑值)。一旦找到可能的圓心(即獲得預定義數量的投票),便在第2步構建一維的半徑的直方圖。這個直方圖中的峰值對應的是檢測到的圓的半徑,進而便能得出圓心大致坐標位置[7]。在OpenCV中調用霍夫圓變換函數:cvHoughCircles(),即可實現(xiàn)圓心的擬合與圓心坐標的確定。

        3.2 落子系統(tǒng)的控制

        在IOIOLib[8]庫中提供了下列接口API以便于對輸出信號進行精確的控制。

        Channel[8](通道):每個管腳都可以作為一個Channel,用來輸出一個單獨的信號。

        Cues[8](執(zhí)行時間):在某一特定的的時間段所有的Channels的命令組成。

        Sequencer[8](順序模式):可以將一系列復雜的操作按照精確的時間執(zhí)行。

        3.2.1 步進電機的控制

        硬件上選擇的步進電機規(guī)格為2線4相,每個脈沖電機旋轉1.8°,即旋轉圈數(Rounds)為200時旋轉一圈。將控制步進電機的系統(tǒng)時鐘頻率(Fsystem)設定為250 kHz,設定period的值為400根據公式period=Fsystem÷Fmoto則步進電機工作頻率(Fmoto)被設定為625 Hz。綜上根據公式Rounds÷Fmoto×62500=Cue可得出執(zhí)行時間(Cue)的值為10 000,進而實現(xiàn)步進電機179.05 rad/s轉動速度控制。步進電機控制參數設置代碼如下:

        Stepper Step Cue_1.clk=Sequencer.Clock.CLK_250K;//設定系統(tǒng)時鐘250 kHz

        stepper Step Cue_1.pulse Width=2;//脈沖寬度2

        stepper Step Cue_1.period=400;//周期400

        stepper Dir Cue_1.value=false;//方向控制

        sequencer_.push(cue_,10000);//cue執(zhí)行時間設置

        3.2.2 舵機的控制

        將控制舵機的系統(tǒng)時鐘頻率(Fsystem)設定為2MHz,設定period的值為400根據公式period=Fsystem÷Factuator則舵機工作頻率(Factuator)被設定為50 Hz,周期為20 ms。舵機控制參數設置代碼如下:

        Sequencer.ChannelConfigPwmPosition(

        Sequencer.Clock.CLK_2 M,4 0000,2 000,new Digital Output.Spec(7));

        通過更改pwm的脈沖寬度,實現(xiàn)對舵機來回旋轉的控制,代碼如下:

        servosCue.pulse Width=2 000;//舵機,一個周期內高電平持續(xù)時間2 000/2 000=1 ms;

        servosCue.pulse Width=4 000;//舵機,一個周期內高電平持續(xù)時間4 000/2 000=2 ms;

        3.3 遠程對弈設計

        在用戶選擇進入遠程對弈模式后,一方落子,系統(tǒng)進行圖像識別分析獲取落子點坐標后,整合為字符串,并通過post請求將該數據發(fā)送至云端服務器,服務器在接收到請求后數據庫進行實時更新[9]。另一方則定時向服務器發(fā)送get請求獲取落子點坐標,判定數據庫更新后,將坐標點字符串信息經過Integer.parseInt(String string)轉換整型[4],并交付IOIO控制機械結構進行運作,至此便實現(xiàn)了遠程對弈。

        4 整體性能測試

        對弈系統(tǒng)的整體性能可以歸納為:準確性、時效性[10]。下面對這2種性能進行試驗測試。

        對于準確性的驗證分為兩個部分,圖像識別棋子在棋盤坐標的準確性識別及落子系統(tǒng)的落子坐標的準確性。將棋盤劃分為x、y軸,劃分方式如圖7所示。

        圖7 棋盤劃分方式

        將棋子隨機放置于棋盤,通過游標卡尺測量棋子實際圓心坐標位置與在攝像頭無抖動的條件下圖像識別棋子圓心坐標進行誤差比較,反復進行試驗150次,記錄x軸方向上最大絕對誤差絕對值,最大相對誤差;y軸方向上最大絕對誤差,最大相對誤差。模擬對弈通過機械機構進行棋盤落子,使用游標卡尺測量棋子圓心坐標位置與棋盤坐標位置進行誤差比較,反復進行試驗150次,同樣記錄兩個坐標軸方向上的最大絕對誤差絕對值,最大相對誤差值。最大相對誤差=最大絕對誤差絕對值/對應棋盤坐標。準確性測試數據如表1所示,其中圖像識別最大絕對誤差及最大相對誤差在x軸方向及y軸方向上均小于2%,表明識別能夠滿足圓心位置識別要求,結合棋盤坐標前后間隔完全能夠準確識別出棋子所在棋盤坐標。根據分析誤差來自于所采用的棋子并非嚴格正圓,以及棋子材質反光致使圖片前后相減會造成棋子損失。落子最大絕對誤差及相對誤差在兩個坐標軸方向上均小于5%,表明能夠較好滿足落子的準確性要求,不會出現(xiàn)落錯棋盤坐標的情況發(fā)生。根據分析,誤差來自于在通過輪盤帶動棋子時由于棋子的質量不均,出子的速度不同,最終造成落到棋盤上會有誤差產生。模擬對弈落子實驗如圖8所示。

        表1 系統(tǒng)準確性測試數據

        圖8 模擬對弈落子實驗圖

        時效性測試,使用秒表測量從用戶落子后至機械結構落子返回起點的消耗時間來進行時效性測試以保證用戶使用體驗。測量數據如表2所示。

        表2 系統(tǒng)時效性測試數據

        從表中數據看出圖像識別方面耗時在1 s以內,時效性良好,平均耗時25.44 s主要源自于五子棋落子大多集中在棋盤中部,機械系統(tǒng)從原點移動至落子處后進行落子返回過程會消耗大量時間,后期可以通過配置性能更好的步進電機或者搭建機械臂予以提升速度。

        5 結束語

        本系統(tǒng)是一款虛擬現(xiàn)實五子棋對弈嵌入式系統(tǒng)。其以功耗、性能、穩(wěn)定性強的嵌入式系統(tǒng)芯片R16作為數據處理核心,主要采用OpenCV進行圖像識別后輔以IOIO操作機械系統(tǒng)運作落子,實現(xiàn)了虛擬現(xiàn)實、現(xiàn)實增強、沉浸式體驗[11]的對弈平臺設計。從上述性能測試可以看出,該系統(tǒng)穩(wěn)定性出色,時效性良好,完全滿足當前人機對弈、遠程對弈需求。本設計可擴展性比較強,具有今后進一步開發(fā)的潛力。

        [1] 張佳進,陳立暢,唐秀英,等. IOIO在Android手機中的應用與研究[J]. 單片機與嵌入式系統(tǒng)應用,2013,13(2):42-44.

        [2] 趙炯,朱海濤,屈劍平,等. 基于OpenCV的圓心定位在地鐵隧道變形監(jiān)測中的應用[J]. 傳感器與微系統(tǒng),2013,32(11):139-142.

        [3] 李剛. 瘋狂Android講義[M]. 第3版. 北京:電子工業(yè)出版社,2015.

        [4] 李剛. 瘋狂Java講義[M]. 第3版. 北京:電子工業(yè)出版社,2014.

        [5] 陳秉濤. 數字圖像混合噪聲濾除算法研究[D]. 云南大學,2012.

        [6] 河田諭志,五十川賢造,松本信幸,等. 圖像處理設備以及方法:CN102713971A[P]. 2012.

        [7] Robert Laganière.OpenCV2計算機視覺編程手冊[M]. 北京:科學出版社,2013.

        [8] Simon Monk. Making Android Accessories with Ioio[M]. USA:O’Reilly Media,Inc,2012.

        [9] 馮久凌. 個人云系統(tǒng)移動終端數據同步的設計與實現(xiàn)[D]. 北京:北京郵電大學,2013.

        [10] 孫偉,閆慧芳,李瑞豹,等. 基于慣性技術的端幫采煤機姿態(tài)測量儀設計[J]. 傳感技術學報,2016,29(2):306-312.

        [11] 曹崢. 應用于實驗教學的五子棋人機對弈系統(tǒng)[J]. 軟件工程師,2014,17(8):3-6.

        ResearchandDesignofaGobangGameSysteamBasedonR16

        CHENRuiqi,YuJiajia*,ZHUChengjie,LIUYunqing,XUYehan

        (Electronic Engineering and Computer Science Department,Southeast UniversityChengxian Colloge,Nanjing 210088,China)

        A virtual reality gobang playing platform is developed based on R16 chip and IOIO module. This platform connects pattern recognition module,chess move system module,distance communication module based on IOIO module. It also develops pattern recognition software system and mechanical chess move system especially for gobang chessboard and realizes virtual reality playing function including man-machine chess playing and distance chess playing. As for man-machine chess playing function,it makes decision based on chessboard information via pattern recognition and then controls mechanical structure to move. Regarding distance chess playing function,it guides mechanical structure to move according the decision by distance player and then feeds back the chessboard information to distance player.

        R16;IOIO;embedded system development;image recognition

        10.3969/j.issn.1005-9490.2017.05.051

        2016-08-31修改日期2016-10-31

        TP273.5

        A

        1005-9490(2017)05-1319-05

        陳睿祺( 1993-) ,男,漢族,四川德陽,東南大學成賢學院電子與計算機工程學院,本科,研究方向為嵌入式系統(tǒng)設計,513149746@ qq.com;

        郁佳佳(1986-) ,女,漢族,江蘇南通,東南大學成賢學院電子與計算機工程學院,講師,碩士,研究方向為模式識別與智能系統(tǒng),yujiajia8@ 126.com;

        諸程杰(1994-) ,男,漢族,江蘇無錫,東南大學成賢學院電子與計算機工程學院,本科,研究方向為嵌入式系統(tǒng)設計,523272685@ qq.com。

        猜你喜歡
        系統(tǒng)設計
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        何為設計的守護之道?
        《豐收的喜悅展示設計》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        瞞天過?!律O計萌到家
        藝術啟蒙(2018年7期)2018-08-23 09:14:18
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        国产99久久久国产精品~~牛| 一区二区三区中文字幕有码| 国产成人精品一区二三区在线观看| 亚洲在线视频免费视频| 亚洲男人av天堂午夜在| 色综合久久丁香婷婷| 亚洲视频综合在线第一页| 亚洲国产精品久久又爽av| 色爱无码av综合区| 中文字幕在线码一区| 在线一区二区三区免费视频观看| 性av一区二区三区免费| 欧美黑人群一交| 久久青草伊人精品| 精品人妻久久av中文字幕| 一区二区三区国产精品乱码| 性色av无码中文av有码vr| 久久久久成人亚洲综合精品| 久久夜色精品国产亚洲av老牛| 无套无码孕妇啪啪| 白又丰满大屁股bbbbb| 久久国产欧美日韩高清专区| 国产丝袜美腿嫩模视频诱惑| 超碰人人超碰人人| 八戒网站免费观看视频| 亚洲国产成人aⅴ毛片大全| 美丽小蜜桃1一3在线观看| 天天躁日日躁狠狠躁欧美老妇| 国产一国产一级新婚之夜| 国产精品不卡免费版在线观看| 日本强伦姧人妻一区二区| 亚洲精品久久中文字幕| 福利网在线| 亚洲中文字幕高清av| 又色又爽又高潮免费视频观看| 日韩欧美第一页| 羞涩色进入亚洲一区二区av| 久久久久人妻一区二区三区| 成年在线观看免费视频| 熟女少妇丰满一区二区 | 性动态图av无码专区|