• 
    

    
    

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

      使用彎曲傳感器的機器人手勢控制系統(tǒng)設計

      2018-09-07 02:31:50,,,
      關鍵詞:舵機隊列手指

      , , ,

      (常州劉國鈞高等職業(yè)技術學校,常州 213025)

      引 言

      當前,工業(yè)機器人的操作方法大概可以分為離線編程和示教再現(xiàn)兩種。示教再現(xiàn)又可以分為人工導引和用示教盒控制來使機器人完成預期的動作等方式。人機交互是工業(yè)機器人發(fā)展的明顯技術特征之一[1-3]。若能通過人類手部動作直接控制機器人運動,則可以使得機器人的控制變得更加直觀和清晰。

      本文設計了一種基于彎曲傳感器的機器人手勢控制系統(tǒng)。該系統(tǒng)通過彎曲傳感器捕捉人體手指的動作,然后將這些動作轉化為電壓量,作為開源平臺Arduino UNO R3的模擬輸入信號;經(jīng)Arduino UNO R3進行算法處理后,控制3路舵機運動,實現(xiàn)了利用手指動作驅(qū)動機器人關節(jié)運動的目的。

      1 總體設計

      圖1 機器人實物圖

      該機器人由機器人本體、電源、主控制系統(tǒng)和手勢信號采集系統(tǒng)等部分組成,如圖1所示。機器人本體部分采用3D打印技術制作的開源EEZYbotARM,驅(qū)動動力來源于3個舵機,分別控制機器人的大臂旋轉、小臂旋轉和夾爪張合。該結構可保證機械手在工作時,末端執(zhí)行器底面始終與底座底面保持平行[4]。

      2 控制系統(tǒng)硬件電路設計

      控制系統(tǒng)硬件電路主要包括電源、主控制系統(tǒng)和手勢信號采集系統(tǒng)等部分。主控制系統(tǒng)采用的是Arduino UNO R3控制板,電源采用12 V鋰電池供電,手勢信號采集系統(tǒng)的核心部件為彎曲傳感器。

      2.1 Arduino UNO R3 介紹

      Arduino是一種開源的電子原型平臺,可以連接各類傳感器、馬達等電子元件。Arduino UNO R3采用ATmega328作為核心CPU,具有6路模擬輸入接口和14路數(shù)字I/O接口,含有6路PWM輸出。Arduino編程使用Arduino IDE軟件,由于其基于C語言,因此控制系統(tǒng)的開發(fā)過程變得更加簡潔和方便。近幾年,Arduino開源電子原型平臺在各類電路設計中的應用越來越廣泛[5-6]。

      2.2 手指動作采集原理

      彎曲傳感器是一種簡單測量彎曲強度的傳感器,可以將它固定在被測曲面上,配合模擬輸出,方便將彎曲信息采集并處理[7-8]。彎曲傳感器的電阻值與彎曲角度之間的關系如圖2所示。

      圖2 彎曲傳感器的電阻值與彎曲角度之間的關系

      通過3D打印技術制作的彎曲傳感器固定夾將彎曲傳感器固定在指上,以用于采集手指的彎曲動作,如圖3所示。在本設計中,共采用了3組手指屈伸動作信號采集電路,各路彎曲傳感器與Arduino Uno R3聯(lián)接電路如圖4所示。

      圖3 彎曲傳感器固定夾

      圖4 控制系統(tǒng)總體電路結構

      各路傳感器采集的手指屈伸動作信號經(jīng)集成運算放大器LM339處理后,傳遞給Arduino Uno R3主控板進行處理,每路手指屈伸動作信號采集電路的原理圖如圖5所示,主控板輸入端的端口電壓值如下所示:

      (1)

      其中,Vcc為電源電壓,Rf為彎曲傳感器電阻值,R2為分壓電阻阻值。

      圖5 手指屈伸動作信號采集電路

      3 程序設計

      3.1 移動平均濾波算法

      常用的數(shù)字濾波算法包括中位值平均法、限幅法、移動平均濾波算法等。在本設計中,采用了移動平均濾波算法,這是一種濾除信號中高頻尖峰脈沖(干擾或頻繁隨機起伏)的簡捷而有效的濾波方式,其實質(zhì)是對信號波形的平滑處理,屬低通濾波[9]。移動平均濾波的卷積實現(xiàn)形式如下:

      (2)

      其中,x[i+j]為輸入信號,y[i]為輸出信號,M是求平均時所使用的點的數(shù)量。移動平均濾波的原理是:將連續(xù)的采樣數(shù)據(jù)看成一個長度固定為M的隊列,隊列中的數(shù)據(jù)為x[i],x[i+1],…,x[i+M-1];在一次新的測量之后,將上述隊列的首數(shù)據(jù)去除,剩余(M-1)個數(shù)據(jù)依次前移,并將新的采樣數(shù)據(jù)插入作為新隊列的尾,得到新的隊列數(shù)據(jù)為x[i+1],x[i+2],…,x[i+M];對該隊列中的數(shù)據(jù)進行算術運算,并將運算結果作為本次測量的結果:

      (3)

      只要采樣率足夠高,就能得到較為理想的測量結果。圖6和圖7為一組彎曲傳感器采集的手指彎曲信號濾波前后的波形對比。可以看出,通過移動濾波算法,原始輸入信號中的隨機噪聲得以消除。通過后續(xù)的測試試驗證明,濾波后舵機的抖動明顯減弱。

      圖6 移動濾波前輸入信號

      圖7 移動濾波后輸入信號和上下閾值

      3.2 閾值算法

      為方便舵機控制,結合實驗數(shù)據(jù),本文取3.5 V電壓值作為下閾值,取4 V電壓值作為上閾值,如圖7所示,即認為當傳感器獲取到的電壓值在3.5~4 V范圍內(nèi)時,輸入信號有效[10]。

      3.3 舵機控制

      舵機轉動的角度是通過調(diào)節(jié)PWM(脈沖寬度調(diào)制)信號的占空比來實現(xiàn)的。在本設計中,通過analogRead()函數(shù)讀取Arduino Uno輸入的模擬值,經(jīng)過濾波和閾值判斷后,通過map()函數(shù)將上下閾值范圍內(nèi)3.5~4 V 的電壓值映射為舵機0°~180°旋轉角度,從而控制機器人的運動。該部分程序控制流程圖如圖8所示,具體實現(xiàn)代碼如下:

      int value=analogRead(A0); //讀取A0口輸入的模擬值

      pos=map(value,3.5,4,0,180);

      //將讀到的模擬值3.5~4映射為0°~180°

      myservo.write(pos);

      //舵機轉動到相應角度

      delay(100);

      //延時一段時間讓舵機轉動到對應位置

      圖8 舵機控制程序流程圖

      3.4 主控制程序設計

      圖9 總體控制 程序流程圖

      控制程序采用Arduino IDE軟件對程序進行編寫,圖9為控制系統(tǒng)主程序流程圖。由于Arduino Uno的時鐘周期較短,因此在本設計中,采用循環(huán)掃描、順序執(zhí)行的方式控制3路舵機驅(qū)動的運行。

      4 試驗測試

      圖10和圖11為利用手指動作控制夾爪張合的測試畫面。測試結果表明,隨著手指彎曲程度的增大,夾爪逐漸閉合;手指逐漸伸直,夾爪也慢慢張開,整個過程中,舵機運行較為平穩(wěn)。圖12為利用手指動作控制機器人抓取物料的畫面,測試過程中機器人的動作與手指的動作吻合,機器人運行平穩(wěn),控制準確可靠。

      圖10 夾爪張開

      圖11 夾爪閉合

      圖12 綜合測試

      結 語

      劉天宋(助教),主要研究方向為機械設計與仿真。

      猜你喜歡
      舵機隊列手指
      手指背側復合組織塊離斷再植
      手指操
      隊列里的小秘密
      基于多隊列切換的SDN擁塞控制*
      軟件(2020年3期)2020-04-20 00:58:44
      含齒隙彈載舵機的全局反步模糊自適應控制
      自動化學報(2019年6期)2019-07-23 01:18:36
      在隊列里
      基于dsPIC單片機的飛艇舵機控制實現(xiàn)
      電子制作(2018年1期)2018-04-04 01:48:14
      豐田加速駛入自動駕駛隊列
      基于高速同步485總線通信的多通道舵機控制器設計
      筆穿手指
      少年科學(2015年8期)2015-08-13 22:13:01
      新竹县| 南康市| 调兵山市| 郓城县| 阿坝| 含山县| 民丰县| 郧西县| 余姚市| 衡阳市| 邵东县| 玉树县| 勃利县| 长宁县| 水城县| 醴陵市| 平顺县| 凤阳县| 仁布县| 临西县| 慈溪市| 化德县| 霞浦县| 醴陵市| 鄄城县| 松原市| 山西省| 调兵山市| 鄂州市| 泸西县| 鹤庆县| 尉犁县| 石渠县| 乾安县| 天全县| 炉霍县| 嘉鱼县| 策勒县| 温州市| 榆社县| 万源市|