本發(fā)明涉及體感交互自動(dòng)控制領(lǐng)域,特別涉及一種基于AR虛擬控制的小車體感對(duì)戰(zhàn)裝置及控制方法。
背景技術(shù):
目前市場(chǎng)上大部分遙控車控制都是基于遙控車手柄或者是電腦控制,而且大多沒(méi)有攝像頭實(shí)時(shí)傳回第一視覺(jué)圖像并進(jìn)行圖像的識(shí)別,或者只是單純的軟件賽車游戲必須由手動(dòng)來(lái)控制移動(dòng),時(shí)間長(zhǎng)了手部與眼睛會(huì)覺(jué)得疲憊,并容易產(chǎn)生乏味失去新鮮感。為了讓小車對(duì)戰(zhàn)游戲更具娛樂(lè)性和可玩性,一種用體感控制的AR對(duì)戰(zhàn)小車尤為吸引廣大玩家的眼球。玩家可以根據(jù)自己的體感姿勢(shì)來(lái)控制小車的速度快慢以及小車的方向及其發(fā)炮,使玩家的肢體具有遙控器的功能。與此同時(shí),該AR體感控制小車對(duì)戰(zhàn)時(shí)還能將攝像頭第一視角傳回的圖像進(jìn)行進(jìn)行圖像識(shí)別,并對(duì)圖像進(jìn)行AR虛擬現(xiàn)實(shí)增強(qiáng)產(chǎn)生對(duì)戰(zhàn)的華麗效果,增加小車對(duì)戰(zhàn)的娛樂(lè)性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種基于AR虛擬控制的小車體感對(duì)戰(zhàn)裝置,使用Kinect體感交互模塊獲取體感信號(hào),對(duì)原始身體信號(hào)進(jìn)行分析及提取,對(duì)攝像頭捕捉到的圖像流進(jìn)行計(jì)算機(jī)視覺(jué)圖像處理,從而實(shí)現(xiàn)對(duì)小車對(duì)戰(zhàn)的控制。
為了達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案:
本發(fā)明一種基于AR虛擬控制的小車體感對(duì)戰(zhàn)裝置,包括小車和PC機(jī),還包括用于采集體感姿勢(shì)信號(hào)的Kinect體感控制模塊、設(shè)置在小車上并用于對(duì)小車周圍環(huán)境信息拍照的WIFI攝像頭、設(shè)置在小車上并用于控制小車運(yùn)動(dòng)的控制驅(qū)動(dòng)部、以及WIFI通信模塊;工作時(shí),WIFI攝像頭獲取圖像流并通過(guò)自帶的WIFI模塊將數(shù)據(jù)傳輸給PC機(jī),同時(shí)Kinect體感控制模塊將采集到的體感姿勢(shì)信號(hào)發(fā)送至PC機(jī),PC機(jī)將處理后的數(shù)據(jù)通過(guò)WIFI通信模塊發(fā)送至控制驅(qū)動(dòng)部,從而使得控制驅(qū)動(dòng)部控制小車進(jìn)行相應(yīng)的動(dòng)作;所述Kinect體感控制模塊包括Kinect 3D體感攝影機(jī)以及連接PC機(jī)的接口數(shù)據(jù)線。
作為優(yōu)選的技術(shù)方案,所述WIFI通信模塊為Esp8266ESP-01,通過(guò)2.4GHzWIFI傳輸模塊實(shí)現(xiàn)PC機(jī)與小車之間的無(wú)線數(shù)據(jù)傳輸。
作為優(yōu)選的技術(shù)方案,所述WIFI攝像頭包括一個(gè)有線攝像頭以及與有線攝像頭連接的WIFI模塊;所述WIFI攝像頭采用Robot-link 5.0MT WF.7620.B型號(hào)WIFI無(wú)線攝像頭;所述單片機(jī)采用STM32F103C8T6。
作為優(yōu)選的技術(shù)方案,所述小車包括控制馬達(dá)的第一電機(jī)、控制發(fā)射BB彈的第二電機(jī)以及3D打印的外殼。
作為優(yōu)選的技術(shù)方案,所述控制驅(qū)動(dòng)部包括單片機(jī)、激光模塊、LED燈、繼電器電路以及電機(jī)驅(qū)動(dòng)電路,所述繼電器電路連接有BB彈波箱;所述激光模塊、LED燈、繼電器電路以及電機(jī)驅(qū)動(dòng)電路均與單片機(jī)連接,所述的單片機(jī)、繼電器電路、電機(jī)驅(qū)動(dòng)電路集成在控制驅(qū)動(dòng)部?jī)?nèi)部,所述的激光模塊、LED燈則通過(guò)已封裝好的電纜連接。
作為優(yōu)選的技術(shù)方案,所述驅(qū)動(dòng)控制部連接有電源模塊,所述電源模塊包括鎳氫干電池及穩(wěn)壓芯片。
本發(fā)明還提供了一種基于AR虛擬控制的小車體感對(duì)戰(zhàn)裝置的控制方法,包括下述步驟:
S1、Kinect體感控制模塊、上位機(jī)電腦及下位機(jī)AR小車上電;
S2、Kinect體感控制模塊捕捉操作者發(fā)出的體感姿勢(shì)信號(hào),將其處理成特定數(shù)據(jù)并通過(guò)數(shù)據(jù)線電纜傳輸?shù)缴衔粰C(jī)電腦;
S4、上位機(jī)電腦接收數(shù)據(jù)完畢后將其處理成特定字符串,并通過(guò)2.4G WiFic傳輸?shù)较挛粰C(jī)AR小車,下位機(jī)AR小車通過(guò)esp8266模塊接收特定字符串后將其傳輸至單片機(jī),
S5、單片機(jī)將其處理成電信號(hào)送至驅(qū)動(dòng)電路,驅(qū)動(dòng)電路將收到的電信號(hào)放大以驅(qū)動(dòng)電機(jī)及炮臺(tái)工作。
作為優(yōu)選的技術(shù)方案,步驟S3中,上位機(jī)電腦上電并初始化進(jìn)入程序,處理由另一位操作者的上位機(jī)電腦發(fā)送的連接請(qǐng)求,及由本操作者控制的下位機(jī)AR小車的WiFi攝像頭發(fā)送的連接請(qǐng)求,允許請(qǐng)求后發(fā)送命令使Kinect體感控制模塊開(kāi)始工作,接收WiFi攝像頭傳輸回的畫(huà)面并進(jìn)行圖像識(shí)別得到處理完畢的畫(huà)面圖像,隨后將另一位操作者的上位機(jī)電腦發(fā)送的數(shù)據(jù)及處理完畢的畫(huà)面圖像進(jìn)行AR視覺(jué)增強(qiáng)得到現(xiàn)實(shí)增強(qiáng)畫(huà)面,并接收由Kinect體感控制模塊發(fā)送的特定數(shù)據(jù)以控制現(xiàn)實(shí)增強(qiáng)畫(huà)面上的炮臺(tái)移動(dòng),并將其現(xiàn)實(shí)增強(qiáng)畫(huà)面顯示在上位機(jī)電腦屏幕上。
作為優(yōu)選的技術(shù)方案,通過(guò)顏色識(shí)別將圖像中特定背景進(jìn)行消除并將得到的輪廓圖與程序里預(yù)設(shè)的模板圖進(jìn)行比較,從而判斷是否為對(duì)方操作者所控制的下位機(jī)AR小車。
本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn)和有益效果:
1、本發(fā)明于硬件上采用WIFI攝像頭獲取圖像流并通過(guò)其中集成的WIFI模塊將數(shù)據(jù)通過(guò)2.4G WiFi網(wǎng)絡(luò)傳輸給PC機(jī),以確??蓪?shí)時(shí)獲取到小車前方的視覺(jué)圖像。
2、Kinect體感控制模塊將采集到的體感姿勢(shì)信號(hào)通過(guò)電纜連接并發(fā)送至PC機(jī),PC機(jī)將處理后的數(shù)據(jù)通過(guò)WIFI通信模塊發(fā)送至控制驅(qū)動(dòng)部,從而使得控制驅(qū)動(dòng)部控制小車進(jìn)行相應(yīng)的動(dòng)作,以達(dá)到實(shí)時(shí)控制小車動(dòng)作的目的,以此擺脫雙手的方式增強(qiáng)了小車對(duì)戰(zhàn)的趣味性。
3、本發(fā)明首次采用全人體肢體控制并實(shí)現(xiàn)AR游戲,機(jī)器戰(zhàn)車的前進(jìn)后退方向轉(zhuǎn)彎以及射擊等都通過(guò)體感控制,突破了傳統(tǒng)意義上的遙控操作,給玩者帶來(lái)全新體驗(yàn),不一般的娛樂(lè)效果和運(yùn)動(dòng)放松方式;本發(fā)明在實(shí)現(xiàn)戰(zhàn)車對(duì)戰(zhàn)的時(shí)候,突破傳統(tǒng)意義上的現(xiàn)實(shí)的對(duì)戰(zhàn),而是實(shí)現(xiàn)虛擬的炮彈發(fā)射,產(chǎn)生虛擬激烈的戰(zhàn)斗場(chǎng)面;同時(shí),本發(fā)明適合娛樂(lè)“鍛煉”,通過(guò)人體肢體的運(yùn)動(dòng),增加人的運(yùn)動(dòng)量以及帶給人的刺激,有助于人的健康和消遣娛樂(lè)功能;另外,本發(fā)明外觀上設(shè)計(jì)上采取大膽浮夸的外殼,新潮時(shí)尚,必定給玩家?guī)?lái)全新的視覺(jué)效果。
附圖說(shuō)明
圖1是本發(fā)明裝置的方框示意圖;
圖2(a)是本發(fā)明裝置單片機(jī)最小系統(tǒng)的電路原理圖;
圖2(b)是本發(fā)明裝置激光及底盤燈的電路原理圖;
圖2(c)是本發(fā)明裝置穩(wěn)壓模塊的電路原理圖;
圖2(d)是本發(fā)明裝置電機(jī)驅(qū)動(dòng)電路的電路原理圖;
圖2(e)是本發(fā)明裝置BB彈波箱控制電路的電路原理圖;
圖3是本發(fā)明裝置工作時(shí)的流程圖;
圖4是本發(fā)明對(duì)戰(zhàn)裝置的處理流程圖;
圖5是本發(fā)明對(duì)戰(zhàn)裝置對(duì)攝像頭AR數(shù)據(jù)處理的流程圖。
具體實(shí)施方式
下面結(jié)合實(shí)施例及附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實(shí)施方式不限于此。
實(shí)施例
如圖1所示-圖3所示,本實(shí)施例一種基于AR虛擬控制的小車體感對(duì)戰(zhàn)裝置,包括小車、PC機(jī)、用于采集體感姿勢(shì)信號(hào)的Kinect體感控制模塊、設(shè)置在小車上并用于對(duì)小車周圍環(huán)境信息拍照的WIFI攝像頭、設(shè)置在小車上并用于控制小車運(yùn)動(dòng)的控制驅(qū)動(dòng)部、以及WIFI通信模塊;工作時(shí),WIFI攝像頭獲取圖像流并通過(guò)自帶的WIFI模塊將數(shù)據(jù)傳輸給PC機(jī),同時(shí)Kinect體感控制模塊將采集到的體感姿勢(shì)信號(hào)發(fā)送至PC機(jī),PC機(jī)將處理后的數(shù)據(jù)通過(guò)WIFI通信模塊發(fā)送至控制驅(qū)動(dòng)部,從而使得控制驅(qū)動(dòng)部控制小車進(jìn)行相應(yīng)的動(dòng)作。
所述Kinect體感控制模塊包括Kinect 3D體感攝影機(jī)以及連接PC機(jī)的接口數(shù)據(jù)線,所述Kinect 3D體感攝影機(jī)通過(guò)接口數(shù)據(jù)線將采集到的體感信息數(shù)據(jù)傳輸至PC機(jī)。
所述WIFI通信模塊為Esp8266ESP-01,包括負(fù)責(zé)接收自所述電腦WIFI端發(fā)射出的信號(hào)的型號(hào)為Esp8266ESP-01的802.11b/g/n 2.4GHz WIFI通訊模塊。
所述WIFI攝像頭包括一個(gè)有線攝像頭以及與有線攝像頭連接的WIFI模塊,有線攝像頭將拍攝到的照片流通過(guò)WIFI攝像頭自帶的WIFI模塊傳輸至PC機(jī)。
所述WIFI攝像頭采用Robot-link 5.0MT WF.7620.B型號(hào)WIFI無(wú)線攝像頭。連接方式為:所述的WiFi模塊連接并驅(qū)動(dòng)所述的無(wú)線攝像頭,同時(shí)核心控制單元為STM32F103C8T6單片機(jī)的外圍電路連接并驅(qū)動(dòng)著所述的WiFi模塊。
本實(shí)施例中,所述小車包括控制馬達(dá)的第一電機(jī)、控制發(fā)射BB彈的第二電機(jī)以及3D打印的外殼。
所述控制驅(qū)動(dòng)部包括單片機(jī)、激光模塊、LED燈、繼電器電路以及電機(jī)驅(qū)動(dòng)電路;所述激光模塊、LED燈、繼電器電路以及電機(jī)驅(qū)動(dòng)電路均與單片機(jī)連接。所述單片機(jī)采用STM32F103C8T6,STM32F103C8T6芯片作為主控芯片實(shí)現(xiàn)對(duì)電腦處理體感數(shù)據(jù)完成后的實(shí)時(shí)傳來(lái)的數(shù)據(jù)包進(jìn)行解析。
所述驅(qū)動(dòng)控制部連接有電源模塊,所述電源模塊包括鎳氫干電池及穩(wěn)壓芯片,用于給驅(qū)動(dòng)控制部提供穩(wěn)定的電源。
所述WIFI通信模塊通過(guò)2.4GHz WIFI傳輸模塊實(shí)現(xiàn)PC機(jī)與小車之間的無(wú)線數(shù)據(jù)傳輸,提高了數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
本實(shí)施例的工作過(guò)程如下:
所述的小車的WIFI攝像頭的工作電壓在5VDC;單片機(jī)的工作電壓在3.3VDC;電機(jī)驅(qū)動(dòng)的工作電壓在12VDC;Kinect體感捕捉裝置的工作電壓在220VAC。
如圖3所示再結(jié)合圖1、圖2(a)-圖2(e);當(dāng)STM32F103C8T6芯片和Esp8266WIFI通信模塊初始化完成并進(jìn)入上位機(jī)預(yù)設(shè)端口通道后,上位機(jī)即根據(jù)程序設(shè)定通過(guò)Kinect體感控制模塊檢測(cè)到人體肢體動(dòng)作信息,然后對(duì)信息進(jìn)行一定的處理,在通過(guò)USB數(shù)據(jù)項(xiàng)將處理過(guò)的信息單向傳輸給電腦的上位機(jī)程序,此時(shí),上位機(jī)程序?qū)⒗媒邮盏降捏w感信息,定向識(shí)別為我們預(yù)設(shè)好的小車動(dòng)作指令信號(hào),并通過(guò)預(yù)設(shè)的WIFI端口通道向小車發(fā)送處理完成的動(dòng)作指令信號(hào),小車作為下位機(jī)將接受到的動(dòng)作信號(hào),通過(guò)STM32F103C8T6單片機(jī)芯片觸發(fā)并驗(yàn)證動(dòng)作,設(shè)定通過(guò)對(duì)驅(qū)動(dòng)模塊的ENA與ENB口的PWM輸出I/O口PWM1、PWM2輸出一定頻率和占空比的PWM方波,以此來(lái)控制小車的差速轉(zhuǎn)向和速度調(diào)整,設(shè)定通過(guò)對(duì)驅(qū)動(dòng)模塊的ENA與ENB口的高低電平的寫(xiě)入分別實(shí)現(xiàn)對(duì)應(yīng)小車的啟動(dòng)與停止,設(shè)定通過(guò)對(duì)繼電器高低電平的寫(xiě)入以分別控制BB彈炮臺(tái)的發(fā)射與停發(fā)。通過(guò)攝像頭回傳的第一視覺(jué)圖像進(jìn)行AR現(xiàn)實(shí)增強(qiáng),游戲設(shè)定兩個(gè)使用者通過(guò)控制自己的小車進(jìn)行對(duì)戰(zhàn)。一開(kāi)始時(shí)兩輛小車具有相同的生命值,當(dāng)有一方生命值減少到零時(shí),該小車會(huì)失去行動(dòng)能力,游戲結(jié)束,最后在場(chǎng)上生命值不為零的小車勝利。游戲的每一局有一定的游戲時(shí)間,當(dāng)剩余游戲時(shí)間減少到零時(shí),在場(chǎng)上生命值較大的小車勝利,如果相同即為平局。小車可以發(fā)射不同類型的炮彈和使用不同的技能以打擊對(duì)方并使對(duì)方的生命值減少;當(dāng)小車被炮彈或其他攻擊擊中時(shí),系統(tǒng)會(huì)根據(jù)被擊中的部位和受到的攻擊的類型減少小車生命值。玩家通過(guò)使用Kinect體感控制模塊識(shí)別到自己的動(dòng)作,并以不同的動(dòng)作控制小車的運(yùn)動(dòng)與攻擊等技能的使用。
如圖4-圖5所示,本實(shí)施例基于AR虛擬控制的小車體感對(duì)戰(zhàn)裝置的控制方法,包括下述步驟:
S1、Kinect體感控制模塊、上位機(jī)電腦及下位機(jī)AR小車上電;
S2、Kinect體感控制模塊捕捉操作者發(fā)出的體感姿勢(shì)信號(hào),將其處理成特定數(shù)據(jù)并通過(guò)數(shù)據(jù)線電纜傳輸?shù)缴衔粰C(jī)電腦;
S4、上位機(jī)電腦接收數(shù)據(jù)完畢后將其處理成特定字符串,并通過(guò)2.4G WiFic傳輸?shù)较挛粰C(jī)AR小車,下位機(jī)AR小車通過(guò)esp8266模塊接收特定字符串后將其傳輸至單片機(jī),
S5、單片機(jī)將其處理成電信號(hào)送至驅(qū)動(dòng)電路,驅(qū)動(dòng)電路將收到的電信號(hào)放大以驅(qū)動(dòng)電機(jī)及炮臺(tái)工作。
在步驟S3中,上位機(jī)電腦上電并初始化進(jìn)入程序,處理由另一位操作者的上位機(jī)電腦發(fā)送的連接請(qǐng)求,及由本操作者控制的下位機(jī)AR小車的WiFi攝像頭發(fā)送的連接請(qǐng)求,允許請(qǐng)求后發(fā)送命令使Kinect體感控制模塊開(kāi)始工作,接收WiFi攝像頭傳輸回的畫(huà)面并進(jìn)行圖像識(shí)別得到處理完畢的畫(huà)面圖像,隨后將另一位操作者的上位機(jī)電腦發(fā)送的數(shù)據(jù)及處理完畢的畫(huà)面圖像進(jìn)行AR視覺(jué)增強(qiáng)(通過(guò)顏色識(shí)別將圖像中特定背景進(jìn)行消除并將得到的輪廓圖與程序里預(yù)設(shè)的模板圖進(jìn)行比較,從而判斷是否為對(duì)方操作者所控制的下位機(jī)AR小車)得到現(xiàn)實(shí)增強(qiáng)畫(huà)面,并接收由Kinect體感控制模塊發(fā)送的特定數(shù)據(jù)以控制現(xiàn)實(shí)增強(qiáng)畫(huà)面上的炮臺(tái)移動(dòng),并將其現(xiàn)實(shí)增強(qiáng)畫(huà)面顯示在上位機(jī)電腦屏幕上。
本實(shí)施例的對(duì)戰(zhàn)裝置使用方法如下:
(一)使用前:
首先確保戰(zhàn)車電池電量足夠,玩家雙方打開(kāi)PC機(jī),連接好KINECT和對(duì)方的通信通道。打開(kāi)戰(zhàn)車的開(kāi)關(guān),等待攝像頭WIFI模塊開(kāi)啟,PC機(jī)連接攝像頭的WIFI,當(dāng)PC機(jī)上能夠顯示攝像頭的視屏以及PC機(jī)上有連接到戰(zhàn)車的WIFI信號(hào)時(shí)即已可以使用。
(二)使用時(shí):使用肢體動(dòng)作以控制戰(zhàn)車進(jìn)行對(duì)戰(zhàn),具體分為三個(gè)階段:
1.游戲開(kāi)始階段:該階段通過(guò)控制右手來(lái)選擇界面,以此來(lái)看游戲說(shuō)明和規(guī)則,并控制開(kāi)始游戲。具體操作:右手向前張開(kāi)伸直顯示鼠標(biāo),手臂左右上下移動(dòng)控制鼠標(biāo),握拳后馬上張開(kāi)控制鼠標(biāo)單機(jī)選項(xiàng)。
2.游戲階段:通過(guò)控制戰(zhàn)車進(jìn)攻對(duì)方戰(zhàn)車從而獲得分?jǐn)?shù),時(shí)間結(jié)束時(shí)分?jǐn)?shù)多的獲勝。具體操作如下:
雙手控制戰(zhàn)車的開(kāi)啟與停止:雙手舉于身體正前方握數(shù)秒,開(kāi)啟戰(zhàn)車,具體時(shí)間以戰(zhàn)車開(kāi)啟為準(zhǔn)。雙手張開(kāi)放下數(shù)秒控制戰(zhàn)車停止。在戰(zhàn)車運(yùn)動(dòng)過(guò)程中,只要放下雙手則會(huì)讓?xiě)?zhàn)車停止一切指令。
左手控制戰(zhàn)車位移:(1)左右控制:平舉于左肩或左肩偏下一點(diǎn),通過(guò)控制手肘角度來(lái)控制戰(zhàn)車左右轉(zhuǎn),具體是左手腕-左手肘-左肩形成的夾角。(2)速度控制:握拳控制加速,手掌張開(kāi)控制勻速,舉起左手與頭同高控制減速,減速到一定程度則后退。
右手控制戰(zhàn)車的射擊:(1)瞄準(zhǔn)器,發(fā)射炮彈的控制:右手向前張開(kāi)伸直控制瞄準(zhǔn)器,通過(guò)手臂左右上下移動(dòng)控制瞄準(zhǔn)器的移動(dòng),握拳后馬上張開(kāi)控制炮彈發(fā)射。(2)換炮彈類型的控制:將手屈回右肩,右手腕-右手肘-右肩角度小于60度,然后在向前伸直控制瞄準(zhǔn)器,則完成炮彈類型轉(zhuǎn)換。
(三)使用后:先手勢(shì)控制戰(zhàn)車停止,關(guān)閉kinect,關(guān)閉PC機(jī),再關(guān)掉戰(zhàn)車的電源,妥善保存。
上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受上述實(shí)施例的限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡(jiǎn)化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。