• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于kinect體感控制機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

      2018-07-23 08:09:40桂林電子科技大學(xué)譚花花
      電子世界 2018年13期
      關(guān)鍵詞:體感子程序舵機(jī)

      桂林電子科技大學(xué) 譚花花

      引言

      在人類迅速進(jìn)步的現(xiàn)在,計(jì)算機(jī)所表現(xiàn)出來的形態(tài)越來越繁多,所具備的功能也越來越強(qiáng)大。隨著現(xiàn)在攝像頭技術(shù)的不斷進(jìn)步,計(jì)算算法越發(fā)的強(qiáng)大。目前體感交互式技術(shù)也得到了廣泛應(yīng)用。本文根據(jù)實(shí)際應(yīng)用需求設(shè)計(jì)了一種采用kinect體感設(shè)備通過攝像頭和紅外發(fā)射器捕捉人體的動作信息通過PC機(jī)操控的機(jī)器人。

      1.本項(xiàng)目總體設(shè)計(jì)方案

      基于Kinect的體感控制機(jī)器人系統(tǒng)主要如下幾個部分組成。第一部分為Kinect對人體圖像的捕捉以及捕捉后的算法處理,第二部分為將捕捉處理的數(shù)據(jù)通過電腦串口發(fā)送到無線模塊的主機(jī),第三部分是無線模塊從機(jī)接收到主機(jī)發(fā)過來的數(shù)據(jù)傳輸?shù)組CU上,MCU通過獲得的數(shù)據(jù)表現(xiàn)為驅(qū)動電機(jī)后機(jī)器人的運(yùn)動狀態(tài)。系統(tǒng)整體設(shè)計(jì)框圖如圖1.1所示。

      圖1 .1 系統(tǒng)整體設(shè)計(jì)框圖動作

      2.kinect體感控制機(jī)器人的硬件電路設(shè)計(jì)

      微控制器:MCU采用STM32RBT6它是ST公司推出的一款控制器,采用了Cortex-M3的內(nèi)核,使用目前主流ARM V7-M的架構(gòu),擁有低功耗、低成本、高性能三大特點(diǎn)。

      電源:電源供電電路的設(shè)計(jì)需要綜合每一個芯片或模塊的工作電壓,本系統(tǒng)硬件主要有三個需要考慮,主控制器STM32RBT6、ESP8266模塊和舵機(jī)。STM32RBT6輸入電源電壓范圍2.0 - 3.6V,ESP8266的輸入電源電壓范圍為3.0 - 3.6V,舵機(jī)的輸入電源電壓范圍為3.5 - 6.0V。且ESP8266與舵機(jī)的工作電流相對較大,所以采用5V電壓,選擇采用2節(jié)18650電池作為供電方案。兩節(jié)18650電池串聯(lián)電壓為7.4V,通過穩(wěn)壓芯片LM1117-5V將7.4V直接穩(wěn)壓到5V。在電源的正極加入二極管對電源保護(hù),得到5V電平衙再次通過穩(wěn)壓芯片LM1117-3.3V將5V直接穩(wěn)壓到3.3V從而得到3.3V的供電電源。

      舵機(jī)驅(qū)動電路:舵機(jī)是一種通過直流脈沖來驅(qū)動旋轉(zhuǎn)的一種裝置,舵機(jī)主要是由五個部分組成,即外殼、電路板、驅(qū)動馬達(dá)、減速器與位置檢測元件。其工作原理是由接收機(jī)發(fā)出訊號給舵機(jī),經(jīng)由電路板上的 IC驅(qū)動無核心馬達(dá)開始轉(zhuǎn)動,透過減速齒輪將動舵機(jī)力傳至擺臂,同時由位置檢測器送回訊號,判斷是否已經(jīng)到達(dá)定位。位置檢測器其實(shí)就是可變電阻,當(dāng)舵機(jī)轉(zhuǎn)動時電阻值也會隨之改變,即由檢測電阻值便可知轉(zhuǎn)動的角度。舵機(jī)的驅(qū)動電路可采用L298模塊和若干個光耦結(jié)合進(jìn)行驅(qū)動。

      WIFI通信驅(qū)動電路:本系統(tǒng)中選擇了ESP8266模塊作為無線通信方案。ESP8266專為移動設(shè)備、可穿戴電子產(chǎn)品和物聯(lián)網(wǎng)應(yīng)用而設(shè)計(jì),通過多項(xiàng)專有技術(shù)實(shí)現(xiàn)了超低功耗。ESP8266EX 具有的省電模式適用于各種低功耗應(yīng)用場景。本模塊在系統(tǒng)中主要是對數(shù)據(jù)進(jìn)行無線通信,將PC端采集的手勢動作發(fā)送給單片機(jī)設(shè)備端。

      3.Kinect 傳感器的工作原理

      Kinect是由微軟公司開發(fā)的一款姿態(tài)傳感輸入設(shè)備,作為Xbox360 外接的3D體感攝影機(jī),利用它特有的功能讓用戶擺脫傳統(tǒng)輸入設(shè)備的束縛,通過自己的肢體控制終端。Kinect 傳感器由四個揚(yáng)聲器,兩個麥克風(fēng)陣列,一個高速 Flash,一個USB2.0 總線接口,三個攝像頭。該傳感器工作的原理如圖 3.1 所示。

      圖3 .1 Kinect傳感器工作原理圖

      由上圖可知彩色攝像頭用來采集 RGB 圖像,通過增量直方圖算法計(jì)算增量直方圖,并通過粒子濾波算法計(jì)算權(quán)值,最后實(shí)現(xiàn)相對應(yīng)的目標(biāo)追蹤。Kinect 傳感器的驅(qū)動能夠產(chǎn)出 RGB圖像流和深度圖像流與采集到的 RGB 圖像與深度圖像的像素點(diǎn)完全對應(yīng)起來,通過 Kinect 傳感器可以實(shí)現(xiàn)對影像資料的辨識通過采集得到基本的影像資料。

      骨骼圖像原理:獲取骨骼圖像之前,需要從深度圖像中將人體從背景環(huán)境中分離出來。首先會分析接近傳感器的區(qū)域,其次是通過逐點(diǎn)掃描接近傳感器區(qū)域的深度圖像的像素,來形成判斷:是否屬于人體的部位。該過程需要使用CPU的圖形視覺技術(shù),其應(yīng)用到了影像邊緣處理、噪聲閾值收集消除、人體特征點(diǎn)的目標(biāo)歸類。

      4.系統(tǒng)的軟件設(shè)計(jì)

      本系統(tǒng)的軟件可分為兩個部分,即上位機(jī)軟件部分和下位機(jī)從機(jī)軟件部分。上位機(jī)軟件部分主要的功能又分兩部分,一部分是獲取到Kinect設(shè)備上人體當(dāng)前做出的一個動作信息;另一部分是將人體的動作信息處理后,將數(shù)據(jù)通過電腦的串口將數(shù)據(jù)傳輸?shù)絎IFI模塊的主機(jī)端。下位機(jī)從機(jī)部分的軟件程序是獲取到WIFI從機(jī)模塊的信息然后,驅(qū)動舵機(jī)做出相應(yīng)的轉(zhuǎn)動,實(shí)現(xiàn)人體動作和舵機(jī)動作的一個對應(yīng),從而完成人機(jī)交互實(shí)現(xiàn),其軟件控制更適合廣泛的硬件配置,進(jìn)而提高實(shí)際應(yīng)用的普及力度和市場需求。

      圖4 .1

      手勢識別算法設(shè)計(jì)∶在Kinect應(yīng)用程序中手勢識別部分的算法是整個系統(tǒng)應(yīng)用的核心,好的程序結(jié)構(gòu)可以是的程序具有健壯性、可維護(hù)性以及模塊化。因此在手勢識別算法設(shè)計(jì)中,采用了模塊化程序設(shè)計(jì)的思想和相應(yīng)劃分,從而將這部分的軟件設(shè)計(jì)內(nèi)容分為初始化子程序、平滑處理子程序、最近用戶獲取子程序、手勢識別子程序、模擬鼠標(biāo)子程序等模塊。初始化子程序用于對Kinect設(shè)備初始化和注冊數(shù)據(jù)流事件;平滑處理子程序,用于減少用戶快速運(yùn)動過程中偶爾發(fā)生的關(guān)節(jié)點(diǎn)跳躍;最近用戶獲取子程序,用于在多用戶存在時查找離Kinect最近的、被跟蹤的骨骼,有利于相應(yīng)運(yùn)動的捕捉,方便程序后續(xù)的處理及過渡的連貫性;手勢識別子程序,用于計(jì)算判斷用戶當(dāng)前的動作是否是約定的姿勢;模擬鼠標(biāo)子程序,用于將手的骨骼跟蹤坐標(biāo)點(diǎn)映射為鼠標(biāo)的屏幕坐標(biāo),同時根據(jù)約定的手勢來觸發(fā)鼠標(biāo)的點(diǎn)擊事件。手勢識別算法的流程圖如圖4.1手勢識別算法的流程圖所示。

      5.功能調(diào)試

      對于手勢識別算法的調(diào)試主要是對深度圖像獲取部分進(jìn)行調(diào)試,為了方便調(diào)試通常會為現(xiàn)有的程序工程添加Kinect自帶的Microsoft.Kinect.Toolkit.Controls庫,這個庫里包含較多的控件可以直接調(diào)用。KinectUserViewer控件顯示是用戶在Kinect識別范圍中的深度圖像數(shù)據(jù),Kinect是否追蹤到用戶,是根據(jù)能否看到相應(yīng)的影像。

      上位機(jī)串口通信部分的程序調(diào)試,為了方便上位機(jī)串口通信的測試,在調(diào)試過程中使用“虛擬串口軟件”將一個COM進(jìn)行虛擬成兩個虛擬COM1和COM3。打開手勢識別軟件和“串口調(diào)試助手”,將之前通過虛擬串口軟件虛擬出來的兩個串口COM1和COM3,分別作為手勢識別軟件和“串口調(diào)試助手”所連接的端口,因?yàn)樵诨瑒舆^程中將會有大量的數(shù)據(jù)通過串口進(jìn)行發(fā)送,所以將串口的波特率設(shè)置為115200,檢測位為無,數(shù)據(jù)位為8位,停止位為1位。調(diào)試完成后機(jī)器人能實(shí)際跟隨手勢力運(yùn)動。

      測試者 機(jī)器人第一次右手垂直向下88度第二次左手垂直向上90度左手垂直向下90度右手垂直向上90度右手垂直向下90度右手垂直向下93度第三次左手垂直向上95度左手垂直向下95度右手垂直向上88度左手垂直向上90度左手垂直向下90度右手垂直向上90度右手垂直向下90度右手下擺左右42度第四次左手垂直向上93度左手垂直向下93度右手垂直向上92度左手上擺左右45度左手下擺左右45度右手上擺左右45度右手下擺左右45度左手上擺左右50度左手下擺左右48度右手上擺左右48度左手上擺左右45度左手下擺左右45度右手上擺左右45度右手下擺左右45度左手上擺左右48度左手下擺左右49度右手上擺左右42度右手下擺左右40度

      6.結(jié)語

      本文設(shè)計(jì)實(shí)現(xiàn)了體感控制系統(tǒng)對人體手勢的識別,使用者可以通過做出的人體手勢,由體感傳感器提取其動作的深度圖像,PC端進(jìn)一步進(jìn)行算法處理獲得控制動作,再與單片機(jī)進(jìn)行通信,將處理結(jié)束獲得的動作傳遞給單片機(jī),單片機(jī)實(shí)現(xiàn)對操作對象的控制,同時支持個性化體感操作,提供全新的用戶體驗(yàn)。

      猜你喜歡
      體感子程序舵機(jī)
      體感交互技術(shù)在腦卒中康復(fù)中的應(yīng)用
      人體體感感知機(jī)械手設(shè)計(jì)與實(shí)現(xiàn)
      電子制作(2019年13期)2020-01-14 03:15:20
      含齒隙彈載舵機(jī)的全局反步模糊自適應(yīng)控制
      基于dsPIC單片機(jī)的飛艇舵機(jī)控制實(shí)現(xiàn)
      電子制作(2018年1期)2018-04-04 01:48:14
      非觸控式的體感機(jī)械臂交互控制系統(tǒng)研究
      電子制作(2017年13期)2017-12-15 09:00:05
      基于高速同步485總線通信的多通道舵機(jī)控制器設(shè)計(jì)
      體感語境下的交互行為設(shè)計(jì)
      淺談子程序在數(shù)控車編程中的應(yīng)用
      基于云模型的舵機(jī)同步控制
      子程序在數(shù)控車加工槽中的應(yīng)用探索
      昭通市| 斗六市| 翁牛特旗| 临沂市| 元朗区| 永新县| 德昌县| 夏河县| 舒兰市| 东平县| 徐水县| 榆社县| 元阳县| 离岛区| 阿拉善右旗| 汝南县| 昌吉市| 南皮县| 崇仁县| 兴国县| 乐安县| 静海县| 沧源| 博湖县| 太康县| 韶山市| 得荣县| 宁乡县| 县级市| 民丰县| 丽江市| 锦州市| 板桥市| 江安县| 洞头县| 察哈| 兴仁县| 林州市| 象山县| 永仁县| 安远县|