• 
    

    
    

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

      基于機器視覺的寫字機器人實驗系統(tǒng)設(shè)計

      2020-07-11 14:41:30張清勇高曉宇夏慧雯郭廣淼
      實驗室研究與探索 2020年5期
      關(guān)鍵詞:驅(qū)動器寫字電動機

      張清勇,高曉宇,夏慧雯,郭廣淼

      (武漢理工大學(xué)自動化學(xué)院,武漢430070)

      0 引 言

      隨著機器人技術(shù)的不斷發(fā)展,寫字機器人逐步進入人們的視野。針對高校機器人教學(xué),設(shè)計一種基于機器視覺的寫字機器人系統(tǒng)可以更好地幫助學(xué)生掌握相關(guān)知識。

      目前出現(xiàn)的寫字機器人主要是在對于文字信息提取方法、機器人結(jié)構(gòu)類型、軌跡規(guī)劃方法幾個方面有所不同[1]。文字信息提取主要有兩種方式。一種是在字符結(jié)構(gòu)完整的情況下進行提取。王光建等[2-3]使用Windows系統(tǒng)矢量字符進行信息提取。張傳劍等[4]使用Visual Basic語言編寫程序借助AutoCAD 擴展工具將文字進行分解并提取線段頂點坐標(biāo)。何薇等[5]通過機器視覺獲取字符圖像,使用開源計算機視覺庫(Open Source Vision Computer Library,OpenCV)完成對圖像的處理和信息提取。

      另一種是在書寫的過程中實現(xiàn)提取。Franke等[6]使用數(shù)字手寫板獲取書寫信息。李芳等[7]使用實驗研制的基于多維力傳感器數(shù)字手寫設(shè)備[8],以獲取書寫壓力、筆記坐標(biāo)和紙筆接觸點處的其他力學(xué)信息,并轉(zhuǎn)換為時間序列,之后對獲得的數(shù)據(jù)進行特征提取,所設(shè)計的機器人獲得了較好的書寫效果。Matsui等[9]使用所設(shè)計的書寫筆在三維空間進行書寫,使機器人獲取空間位置時間序列,但由于懸空書寫,該設(shè)計存在書寫軌跡難以控制的問題。

      本文使用OpenMV機器視覺模塊,結(jié)合所編寫的腳本實時獲取書寫筆的位置信息,實現(xiàn)人和寫字機器人的同步書寫,使用較為簡單的方案獲得了較好的書寫精度。

      1 系統(tǒng)機械結(jié)構(gòu)設(shè)計

      基于機器視覺的寫字機器人系統(tǒng)機械結(jié)構(gòu)的核心為2 自由度運動單元,該系統(tǒng)采用圖1 所示的機械結(jié)構(gòu)。電動機1、2 分別安裝在橫、縱向軌道上,電動機1控制書寫機構(gòu)橫向運動;電動機2 控制書寫機構(gòu)縱向運動。兩個電動機可以實現(xiàn)書寫機構(gòu)的2 自由度運動。書寫機構(gòu)上安裝舵機,實現(xiàn)對筆起落的控制。

      圖1 系統(tǒng)機械結(jié)構(gòu)圖

      2 系統(tǒng)硬件設(shè)計

      2.1 硬件總體設(shè)計

      寫字機器人系統(tǒng)需要實現(xiàn)的功能有:通過識別模塊識別動態(tài)手勢,控制書寫機構(gòu)的運動;通過識別手寫筆的運動來控制書寫機構(gòu)進行同步書寫。

      寫字機器人系統(tǒng)硬件由主控制器、識別模塊、運動控制模塊和人機交互模塊構(gòu)成,系統(tǒng)硬件總體框圖如圖2 所示。主控制器負責(zé)驅(qū)動各種傳感器、執(zhí)行相關(guān)運算并負責(zé)輸出控制信號。識別模塊包含一個電容數(shù)字轉(zhuǎn)換器、一個攝像頭和一個輕觸開關(guān)。電容數(shù)字轉(zhuǎn)換器通過集成電路總線(Inter-Integrated Circuit,IIC)與主控制器通信。攝像頭上自帶微處理器,運行相關(guān)圖像處理算法,將獲得的結(jié)果通過通用同步/異步串行接收/ 發(fā)送器(Universal Synchronous/Asynchronous Receiver/Transmitter,USART)發(fā)送給主控制器。運動控制模塊包含控制筆桿起落的舵機、步進電動機及相應(yīng)驅(qū)動器。人機交互模塊包含有機發(fā)光二極管(Organic Light-Emitting Diode,OLED)顯示屏和紅外遙控接收、發(fā)送裝置,實現(xiàn)模式的選擇和相關(guān)信息的顯示。OLED 通過串行外設(shè)接口(Serial Peripheral Interface,SPI)與主控制器通信。

      圖2 系統(tǒng)硬件總體框圖

      2.2 主控模塊

      寫字機器人系統(tǒng)主控模塊選用STM32F407ZGT6芯片,該款微處理器采用ARM?Cortex?M4 核心,最高工作頻率168 MHz[10]。閃存大小為1 024 KByte,共有82 個通用輸入/輸出口,具有10 個16 bit通用定時器、2 個16 bit 高級定時器和2 個16 bit 基本定時器。其性能滿足系統(tǒng)設(shè)計要求。其上有10.5 Mbit/s 的串口4 個,通過串口可以和OV7725 攝像頭系統(tǒng)進行通信,使系統(tǒng)獲取目標(biāo)點的位置信息,從而實現(xiàn)對手寫筆位置的獲取。

      2.3 識別模塊

      寫字機器人系統(tǒng)識別模塊中包含有FDC2214 電容數(shù)字轉(zhuǎn)換器、基于OV7725 攝像頭的OpenMV Cam M7 視覺模塊以及手寫筆上的輕觸開關(guān),如圖3 所示。

      圖3 FDC2214、OpenMV Cam M7視覺模塊和輕觸開關(guān)

      FDC2214 是一款抗電磁干擾設(shè)計的高分辨率、高速、多通道的電容數(shù)字轉(zhuǎn)換器,采用了基于窄帶的架構(gòu),可以高度抑制噪聲等干擾信號[11-12],在高速的條件下提供高分辨率信息,常用于接近感測和液位感測。在本系統(tǒng)設(shè)計中,使用4 片極板,通過判斷手對于單方向上兩片極板接近的先后順序進行運動手勢判別。

      機器視覺模塊由板載微處理器和攝像頭構(gòu)成。其具有216 MHz 的主頻、128 Kb 的RAM 和2 Mb 的Flash,可以使用MicroPython 對其進行編程,實現(xiàn)機器視覺相關(guān)任務(wù)[13],在顏色追蹤[14]、形狀識別、邊緣檢測、特征點追蹤、3D 定位識別[15]和特征檢測人臉識別[16]等領(lǐng)域均獲得了應(yīng)用。在本系統(tǒng)的設(shè)計中,通過對目標(biāo)顏色進行識別,將獲取到的坐標(biāo)點發(fā)送給主控芯片以進行后續(xù)的運算與處理。

      輕觸開關(guān)安裝在手寫筆的筆頭,當(dāng)落筆時開關(guān)導(dǎo)通,此時主控芯片檢測到落筆,從而控制書寫機構(gòu)執(zhí)行落筆動作;當(dāng)抬筆時,開關(guān)斷開,主控芯片檢測到抬筆,從而控制書寫機構(gòu)執(zhí)行抬筆動作。

      2.4 運動控制模塊

      寫字機器人系統(tǒng)運動控制模塊由1 個小型舵機、2個步進電動機及其驅(qū)動器組成。步進電動機選用2 個42 式二相四線步進電動機,步距角均為1.8°。步進電動機驅(qū)動器采用TB6600,該款驅(qū)動器具有電動機脫機控制和正反轉(zhuǎn)控制的功能。共有7 檔細分選擇,最大32 細分;共有8 檔電流控制,可以實現(xiàn)從0.5 ~3.5 A電流選擇。通過撥碼開關(guān)可以方便調(diào)節(jié)步進電動機細分數(shù)及電流。該款驅(qū)動器具有震動低、噪聲小的特點。驅(qū)動器如圖4 所示。

      圖4 TB6600步進電動機驅(qū)動器

      2.5 人機交互模塊

      系統(tǒng)人機交互模塊由一片24.384 mm OLED 屏幕、紅外接收頭HS0038 和紅外遙控器組成。

      系統(tǒng)中OLED 屏幕采用24.384 mm 128 ×64 的OLED屏,如圖5 所示。該屏使用的總線形式為SPI或IIC。其OLED顯示驅(qū)動器為SSD1306,該屏具有以下特點:對比度高,顯示清晰;接線方式豐富,具有串行SPI和IIC接口方式,且接線方便、節(jié)約微處理器的輸入、輸出端口。OLED屏用來顯示當(dāng)前的模式和相關(guān)信息。

      圖5 OLED屏幕

      紅外遙控器使用協(xié)議,數(shù)據(jù)格式為:同步碼頭、地址碼、地址反碼、控制碼和控制反碼。同步碼由一個低電平和一個高電平組成,低電平時長9 ms、高電平時長4.5 ms,數(shù)據(jù)中剩下的4 部分均由8 bit數(shù)據(jù)組成。

      2.6 硬件電路設(shè)計

      (1)運動控制模塊電路設(shè)計。步進電動機驅(qū)動器TB6600 采用共陰極接法。將2 個驅(qū)動器的DIR-和PUL-引腳與STM32F407ZGT6 的GND端相連。2 個步進電動機驅(qū)動器的DIR + 和PUL + 引腳與STM32F407ZGT6 的接線方式見表1。

      表1 TB6600 驅(qū)動器與STM32F407ZGT6 接線方式

      舵機的PWM 信號線與STM32F407ZGT6 的PA2引腳相連。

      (2)識別模塊電路設(shè)計。FDC2214 模塊的UCC引腳連接電源正極,電壓為3.3 V。FDC2214 采用I2C通訊協(xié)議,故需要兩根信號線,F(xiàn)DC2214 模塊的SCL 引腳和SDA引腳與微處理器的接線方式見表2。

      表2 FDC2214 與STM32F407ZGT6 接線方式

      機器視覺模塊使用串口與STM32F407ZGT6 微處理器進行通訊。機器視覺模塊的VIN 引腳連接電源正極,使用5 V電源進行供電,P4、P5 引腳與微處理器的接線方式見表3。

      表3 OpenMV Cam M7 與STM32F407ZGT6 接線方式

      輕觸開關(guān)A 端連接微處理器的PD0,令B 端與GND相連。

      (3)人機交互模塊電路設(shè)計。紅外接收頭HS0038 與STM32F407ZGT6 的PB1 通過10 kΩ 電阻相連。

      OLED 顯示屏,采用4 線串口模式,通過UCC給OLED屏進行供電,使用3.3 V 電源,OLED 屏的D0、D1、RES、DC和CS 引腳與微處理器的接線方式見表4。機器人視覺系統(tǒng)的硬件電路如圖6 所示。

      表4 OLED屏幕與STM32F407ZGT6 接線方式

      圖6 系統(tǒng)硬件電路圖

      3 系統(tǒng)軟件設(shè)計

      機器人系統(tǒng)軟件設(shè)計部分主要包括STM32F407ZGT6 主程序設(shè)計、Bresenham 插補算法的實現(xiàn)、基于FDC2214 電容數(shù)字轉(zhuǎn)換器的手勢識別實現(xiàn),以及同步書寫功能實現(xiàn)。

      3.1 主程序設(shè)計

      寫字機器人系統(tǒng)軟件設(shè)計中采用狀態(tài)機的思想,主程序流程圖如圖7 所示。打開系統(tǒng)后,首先完成STM32 主控芯片的系統(tǒng)配置:初始化中斷優(yōu)先級、定時器中斷、USART中斷和相關(guān)輸入、輸出端口;之后對外設(shè)模塊進行初始化配置:FDC2214 模塊和OLED 顯示屏初始化。之后進入任務(wù)控制死循環(huán),通過等待紅外遙控的輸入信號來進行任務(wù)的選擇。當(dāng)任務(wù)標(biāo)志變量(TASK)被置為相應(yīng)序號,則進行相應(yīng)指令的執(zhí)行。

      配置串口中斷,在中斷中編寫校驗協(xié)議,以實現(xiàn)對OpenMV數(shù)據(jù)的解析,這樣STM32F4 芯片就可以通過串口接收到筆尖的坐標(biāo)信息。使用通用定時器TIM7實現(xiàn)10ms 中斷,在中斷中完成采集極板電容值并進行相關(guān)計算。

      圖7 主程序流程圖

      3.2 插補算法

      插補算法采用計算機圖形學(xué)中經(jīng)典的Bresenham算法[17],此種算法可以在不進行小數(shù)和取整運算的基礎(chǔ)下上,實現(xiàn)直線像素點的生成。本文使用直線

      將二維平面分為8 個區(qū)域。在平面區(qū)域

      中的算法流程圖如圖8 所示,其他區(qū)域使用坐標(biāo)變換的方式進行實現(xiàn)[18]。該算法中,(x0,y0)為插補的起始坐標(biāo);(x1,y1)為插補的終止坐標(biāo);(x,y)為筆的當(dāng)前位置坐標(biāo)。變量dx、dy、d、incrE和incrNE為算法臨時變量。

      圖8 Bresenham算法流程圖

      3.3 手勢識別算法

      手勢識別算法參照應(yīng)用于電容式按鈕的手勢識別算法進行設(shè)計[19]。本系統(tǒng)的識別模塊分別在x、y方向上固定有兩片金屬極板,與FDC2214 相連接。獲取每片極板所測量的電容值并換算成手的接近度,通過計算手對于兩片極板接近的先后順序進行運動手勢判別。

      3.4 同步書寫功能實現(xiàn)

      使用機器視覺模塊實時監(jiān)測手寫筆的坐標(biāo)信息,由于筆頭處設(shè)計為綠色,在白色書寫平面上書寫時,可以采用顏色追蹤的方式進行坐標(biāo)識別。OpenMV使用MicroPython進行編程,對攝像頭寄存器進行配置:使用RGB565 色彩模式和320 ×240 級別分辨率,關(guān)閉白平衡和自動增益。進入程序主循環(huán),不斷進行色塊檢測并將色塊位置使用串口發(fā)送給STM32F407ZGT6。由于USART每次傳輸8 bit 數(shù)據(jù),攝像頭圖像平面坐標(biāo)水平方向數(shù)據(jù)范圍為0 ~319,因此將水平方向數(shù)據(jù)拆成兩次進行發(fā)送,STM32F407ZGT6 端將數(shù)據(jù)重新組合進行使用。

      STM32F407ZGT6 接收到坐標(biāo)信息后,進行數(shù)據(jù)校驗和濾波等預(yù)處理,接著進行坐標(biāo)變換,然后驅(qū)動電動機控制寫字機器人書寫機構(gòu)的位置。與此同時,通過輕觸開關(guān)識別書寫人員的起落筆姿勢,控制書寫機構(gòu)的起筆和落筆,實現(xiàn)寫字機器人的同步書寫功能。

      4 測試與分析

      整個運動框架由2020 鋁型材搭建,寫字機器人實物如圖9 所示。電動機1 使用同步帶結(jié)合滑輪結(jié)構(gòu),實現(xiàn)在運動框架上的X向運動;電動機2 以同樣的方式實現(xiàn)在運動框架上的Y向運動。書寫機構(gòu)通過亞克力材質(zhì)結(jié)構(gòu)與電動機2 固定在一起。

      圖9 寫字機器人實物圖

      4.1 運動手勢識別繪制測試

      進行運動手勢控制書寫機構(gòu)功能測試,測試方法為:將手放到手勢識別感應(yīng)區(qū)內(nèi),按照向上、向下、向左和向右的方向在感應(yīng)區(qū)內(nèi)滑動,觀察此時書寫機構(gòu)的運行狀態(tài)是否與手勢的運動方向一致。測試時方向選擇隨機,每個方向進行20 次測試,求取系統(tǒng)執(zhí)行的正確率。測試結(jié)果表明,寫字機器人系統(tǒng)可以通過識別模塊準(zhǔn)確識別手的運動方向,相關(guān)測試結(jié)果見表5。

      表5 手勢控制書寫機構(gòu)運動功能測試

      4.2 同步書寫功能測試

      進行同步書寫功能測試,測試方法為,使用手寫筆在識別模塊規(guī)定范圍中進行書寫,此時寫字機器人在繪圖平面上根據(jù)實時識別到的位置信息進行繪制,測試時書寫“寫字”兩字,測試結(jié)果如圖10 所示。

      圖10 同步書寫功能測試結(jié)果

      5 結(jié) 語

      本文設(shè)計了一種基于機器視覺的寫字機器人實驗系統(tǒng),該系統(tǒng)結(jié)合了視覺與圖像處理技術(shù)以及接近感測技術(shù),實現(xiàn)了通過運動手勢識別控制書寫機構(gòu)運動的功能;通過實時識別手寫筆的運動來控制書寫機構(gòu)進行書寫的功能。系統(tǒng)使用較為簡單的方案實現(xiàn)了較高書寫準(zhǔn)確性。該系統(tǒng)應(yīng)用于教學(xué)與實驗,可以幫助學(xué)生更好地掌握機器人和計算機視覺領(lǐng)域相關(guān)知識。

      整個系統(tǒng)仍有一定改進空間:通過引入軌跡規(guī)劃實現(xiàn)運動速度的控制,確保書寫機構(gòu)的平穩(wěn)運行;通過提高采樣圖像的分辨率,提高書寫機構(gòu)的書寫精度,使系統(tǒng)的書寫效果進一步提高。

      猜你喜歡
      驅(qū)動器寫字電動機
      淺析電動機日常維護與保養(yǎng)
      防爆電機(2021年4期)2021-07-28 07:42:56
      永磁同步電動機的節(jié)能計算
      我學(xué)寫字
      藏起驅(qū)動器號確保數(shù)據(jù)安全
      電腦愛好者(2020年6期)2020-05-26 09:27:33
      學(xué)寫字
      快樂語文(2019年12期)2019-06-12 08:41:54
      寫字好看,需從小“練”起
      我學(xué)寫字
      壓電陶瓷驅(qū)動器的遲滯特性
      基于KB0的電動機軟啟動控制系統(tǒng)
      電動機的保護配合及CPS在民用建筑中的應(yīng)用
      茌平县| 龙江县| 大厂| 方城县| 清河县| 手机| 武陟县| 启东市| 沛县| 合江县| 新平| 元阳县| 山丹县| 开江县| 库尔勒市| 太谷县| 桃园县| 班戈县| 拉萨市| 封丘县| 图们市| 雷山县| 玛多县| 玉溪市| 南昌县| 鸡泽县| 固原市| 寿光市| 永新县| 新密市| 吉安市| 密山市| 新野县| 承德市| 新丰县| 临泽县| 德格县| 惠安县| 九台市| 汶川县| 炎陵县|