一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于機(jī)器視覺筆跡識別和Arduino控制機(jī)器人的設(shè)計

電子設(shè)計 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-07-03 11:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

0 引言

伴隨著現(xiàn)在日益高性能的計算機(jī)硬件和完善的理論技術(shù),機(jī)器視覺技術(shù)已開始得到廣泛的應(yīng)用。結(jié)合機(jī)器視覺技術(shù)的智能機(jī)器人在現(xiàn)今人工智能趨勢下扮演一個重要角色,在智能制造推進(jìn)、智慧城市建設(shè)、家居生活質(zhì)量提高等方面,都有廣闊的施展空間[1]。

1 整體設(shè)計思路及方案

本設(shè)計將能勝任機(jī)器視覺處理能力的計算機(jī)與單片機(jī)作主控的機(jī)器人相結(jié)合,通過無線通信方式構(gòu)建一個相比其他低成本機(jī)器人具備更高自主性和智能性的機(jī)器人模型,目的在于:(1)對比評估主流手寫數(shù)字識別模型的實(shí)際識別表現(xiàn);(2)探究低成本機(jī)器人實(shí)現(xiàn)更高智能性的方法[2]。

本設(shè)計結(jié)合現(xiàn)今熱門的機(jī)器視覺技術(shù)以及Arduino單片機(jī)實(shí)現(xiàn)了一個能夠通過上位機(jī)識別手寫數(shù)字并發(fā)送至下位機(jī)進(jìn)行執(zhí)行的機(jī)器人模型,當(dāng)上位機(jī)得到待識別的圖片后,將進(jìn)行圖片的處理轉(zhuǎn)化為數(shù)據(jù)并輸入已經(jīng)在前期構(gòu)建好的識別模型,計算后輸出識別的內(nèi)容并通過無線通信發(fā)送到下位機(jī),下位機(jī)根據(jù)接收到的識別信號執(zhí)行相應(yīng)動作。

本設(shè)計總體可分為上位機(jī)識別與下位機(jī)執(zhí)行部分。上位機(jī)識別部分包含前期輸入信號的處理、手寫字符的識別模型構(gòu)建、與下位機(jī)通信構(gòu)建等部分;下位機(jī)執(zhí)行部分采用Arduino單片機(jī)結(jié)合各類電子元器件和電路模塊實(shí)現(xiàn)了所期望的執(zhí)行內(nèi)容,包括電源供電設(shè)計、表盤指示器電路設(shè)計、人機(jī)交互顯示設(shè)計以及無線通信設(shè)計[3]。

1.1 下位機(jī)硬件設(shè)計方案

該下位機(jī)硬件使用Arduino單片機(jī)作為主控,并結(jié)合步進(jìn)電機(jī)以及步進(jìn)電機(jī)驅(qū)動模塊構(gòu)成了指針數(shù)字指示盤,OLED與單片機(jī)相連構(gòu)成人機(jī)交互顯示界面,NRF2401L無線串口模塊與上位機(jī)進(jìn)行通信,使用LM2596穩(wěn)壓模塊輸出9 V電源為Arduino單片機(jī)供電,并且由單片機(jī)供電給各個執(zhí)行模塊。采用1.3寸OLED顯示屏作為顯示器,輸出經(jīng)過上位機(jī)識別后發(fā)送至下位機(jī)的信號,采用SSD1306作為驅(qū)動的OLED顯示屏顯示出數(shù)字[4]。

采用步進(jìn)電機(jī)作為儀表盤指示器執(zhí)行部件,其需要相應(yīng)電機(jī)驅(qū)動模塊進(jìn)行驅(qū)動。設(shè)計儀表指示器需要對步進(jìn)電機(jī)進(jìn)行正轉(zhuǎn)、反轉(zhuǎn)控制,從而造成指針的順時針旋轉(zhuǎn)和逆時針旋轉(zhuǎn),以便能夠使其根據(jù)輸入的識別信號轉(zhuǎn)動相應(yīng)角度(有對應(yīng)的正向角度和負(fù)角度)。電機(jī)接收到單片機(jī)輸出的特定脈沖時,步進(jìn)角(步進(jìn)電機(jī)每前進(jìn)一個步序所轉(zhuǎn)過的角度)便會進(jìn)行相應(yīng)的轉(zhuǎn)動,當(dāng)電機(jī)接收一個脈沖信號就會轉(zhuǎn)過一個步進(jìn)角,二者呈相互的線性關(guān)系。通過此線性關(guān)系,再根據(jù)原有角度與現(xiàn)在應(yīng)該轉(zhuǎn)動角度做差值計算,求出相差角度,控制電機(jī)轉(zhuǎn)動相應(yīng)角度,便可以實(shí)現(xiàn)電機(jī)的儀表指示功能。

1.2 數(shù)據(jù)收集以及上位機(jī)識別模型

上位機(jī)部分主要負(fù)責(zé)手寫圖片的識別,其流程包括手寫數(shù)字圖像預(yù)處理、識別模型訓(xùn)練、識別模型驗證和測試等。選擇MNIST手寫庫作為模型的數(shù)據(jù),并給出了將MNIST數(shù)據(jù)庫進(jìn)行圖像處理的方法,通過比對SVM、BP神經(jīng)網(wǎng)絡(luò)、KNN三種識別模型的發(fā)展歷程、數(shù)學(xué)原理以及算法步驟等,最終選用BP神經(jīng)網(wǎng)絡(luò)識別模型。

1.3 BP神經(jīng)網(wǎng)絡(luò)的手寫數(shù)字識別模型及驗證

BP神經(jīng)網(wǎng)絡(luò)是神經(jīng)網(wǎng)絡(luò)的一種,目前大多數(shù)神經(jīng)網(wǎng)絡(luò)模型都是由BP神經(jīng)網(wǎng)絡(luò)擴(kuò)展而來。對于本設(shè)計所需手寫數(shù)字識別這一應(yīng)用來說,神經(jīng)網(wǎng)絡(luò)主要用于關(guān)于數(shù)字0到數(shù)字9的分類問題。BP神經(jīng)網(wǎng)絡(luò)算法又稱為反向傳播算法,其連接神經(jīng)元的權(quán)值訓(xùn)練從最末層(即網(wǎng)絡(luò)的輸出層)開始,從輸出到輸入依次更新每一層的權(quán)值,所以被稱為反向傳播。

BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法采用方法為δ學(xué)習(xí)規(guī)則(步長最優(yōu)化),目標(biāo)函數(shù)為:

關(guān)于機(jī)器視覺筆跡識別和Arduino控制機(jī)器人的設(shè)計

式中:Yk表示真實(shí)的值,即期望值,是真實(shí)圖片中所代表數(shù)字,k為樣本編號;Tk為預(yù)測值,即經(jīng)過模型所計算出來的值;E為真實(shí)值與預(yù)測值得平方誤差求和。整個式子的目標(biāo)便是使平方誤差和最小。

其算法過程的流程描述如圖1所示。

關(guān)于機(jī)器視覺筆跡識別和Arduino控制機(jī)器人的設(shè)計

BP神經(jīng)網(wǎng)絡(luò)由于只應(yīng)用了均分誤差函數(shù)對權(quán)值和閾值的一階導(dǎo)數(shù)(即梯度)的信息,在實(shí)際程序中該算法存在收斂速度慢從而計算時間長、容易陷入局部最?。ê雎粤巳肿顑?yōu)解導(dǎo)致不能正確求解)等問題。在實(shí)際的應(yīng)用中,應(yīng)注意這些問題的解決,可以與LM神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò)等結(jié)合使用來解決[5]。

2 使用CV2庫進(jìn)行圖像預(yù)處理

在設(shè)計中使用OpenCV庫的擴(kuò)展庫CV2庫對圖片進(jìn)行了圖像預(yù)處理,過程主要包括手寫數(shù)字圖像的歸一化以及二值化數(shù)據(jù)形式,并保存為逗號分隔符的csv文件。

圖像處理時間如表1所示,T1時間為轉(zhuǎn)化訓(xùn)練集圖片所用時間,用時352 s;T2時間為轉(zhuǎn)化測試集圖片所用時間,用時55 s。

關(guān)于機(jī)器視覺筆跡識別和Arduino控制機(jī)器人的設(shè)計

2.1 PCA降維操作

本設(shè)計使用Python的sklearn庫中的PCA方法,輸入原始數(shù)據(jù)集,即可完成PCA降維操作,其降維結(jié)果如表2所示。

關(guān)于機(jī)器視覺筆跡識別和Arduino控制機(jī)器人的設(shè)計

在經(jīng)過PCA(主成分分析法)降維操作去除影響較小的變量影響后,得到了59 989行、67列的X_pca數(shù)據(jù)集,手寫數(shù)字圖片數(shù)量不變,但維數(shù)從784列縮小為67列,從而有效地減輕了支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)以及KNN模型的計算過程。在后續(xù)的模型訓(xùn)練以及模型識別準(zhǔn)確度評估中,也同樣使用了PCA操作對數(shù)據(jù)簡化計算量[6]。

2.2 模型比較以及上位機(jī)識別模型的選取

本測試模型中,經(jīng)過轉(zhuǎn)化的訓(xùn)練集數(shù)據(jù)大小1.09 GB(59 989張圖片轉(zhuǎn)化完成的數(shù)據(jù)),測試集數(shù)據(jù)大小為186 MB(9989張圖片轉(zhuǎn)化完成的數(shù)據(jù)),經(jīng)過PCA降維操作后,測試集數(shù)據(jù)大小為97.7 MB(由原來的864列數(shù)據(jù)降維為67列數(shù)據(jù)),訓(xùn)練集數(shù)據(jù)大小為16.2 MB。模型數(shù)據(jù)采用PCA降維操作后的數(shù)據(jù)[7]。

從表3中可知,3種模型中,SVM(支持向量機(jī))模型識別的準(zhǔn)確度最高,但訓(xùn)練時間比其他兩個模型稍長。BP神經(jīng)網(wǎng)絡(luò)模型最小,訓(xùn)練時間比SVM(支持向量機(jī))稍短,測試時間用時也最短,明顯短于其他兩個模型,說明識別速度是最快的。KNN(K近鄰)模型訓(xùn)練時間雖然最短,但從測試時間來看用時最長,測試近10 000個數(shù)據(jù)的時間比其他兩個模型訓(xùn)練近60 000個數(shù)據(jù)的時間還長了兩倍多,模型識別速度最慢。準(zhǔn)確率上來看,小數(shù)據(jù)量時準(zhǔn)確率只有百分之五六十,只有大數(shù)據(jù)體量下準(zhǔn)確率才有明顯提升,與SVM(支持向量機(jī))和BP神經(jīng)網(wǎng)絡(luò)相比,在手寫數(shù)字識別方面遜色很多。

關(guān)于機(jī)器視覺筆跡識別和Arduino控制機(jī)器人的設(shè)計

對上面3個模型根據(jù)識別時間、準(zhǔn)確率進(jìn)行比較評估后,決定以準(zhǔn)確率優(yōu)先,次而考慮識別時間,最終決定使用SVM(支持向量機(jī))作為本設(shè)計的手寫識別模型[8]。

3 手寫筆跡圖像識別機(jī)器人整體設(shè)計

在整體設(shè)計中,首先選擇NRF2401L無線通信模塊完成了通信硬件的搭建,并根據(jù)其配置表進(jìn)行命令配置完成了硬件的初始化。上位機(jī)方面,使用Python結(jié)合win32u庫和serial庫完成上位機(jī)讀取識別程序的設(shè)計。下位機(jī)方面,使用串口結(jié)合下位機(jī)處理硬件完成數(shù)字接收處理的設(shè)計。整個系統(tǒng)構(gòu)成一套上位機(jī)對手寫圖像進(jìn)行識別,通過無線發(fā)送至下位機(jī)處理的手寫筆跡圖像識別機(jī)器人。

4 結(jié)論

通過本設(shè)計與研究,取得的主要結(jié)果如下:

(1)選擇了MNIST手寫數(shù)字圖片庫作為手寫識別模型的原始數(shù)據(jù),設(shè)計實(shí)際情況完成了MNIST庫圖像的處理和轉(zhuǎn)化,從而得到了原始的訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集。

(2)分別對SVM(支持向量機(jī)),BP神經(jīng)網(wǎng)絡(luò),KNN(K近鄰)3種分類模型進(jìn)行了對比,并使用Python分別對3種模型進(jìn)行了構(gòu)建和測試。通過3個模型的訓(xùn)練時間、測試時間以及準(zhǔn)確度等指標(biāo),比較了3個模型的優(yōu)劣性,最終以準(zhǔn)確率優(yōu)先原則選取準(zhǔn)確度最高的SVM(支持向量機(jī))作為手寫數(shù)字識別模型并進(jìn)行應(yīng)用。

(3)使用NRF2401L無線通信模塊和串口功能構(gòu)建了上位機(jī)和下位機(jī)之間無線通信,完成了二者的對接,將單片機(jī)在電子硬件方面的處理和計算機(jī)對手寫圖片的識別進(jìn)行了結(jié)合[9]。

(4)實(shí)現(xiàn)了Python設(shè)計上位機(jī)應(yīng)用程序,功能包括圖像讀取、圖像預(yù)處理以及轉(zhuǎn)化、圖像識別、串口發(fā)送、異常處理等。完成了整個上位機(jī)的功能,構(gòu)成了一套上位機(jī)手寫圖像識別,完成了整個設(shè)計。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    213

    文章

    29706

    瀏覽量

    212662
  • 機(jī)器視覺
    +關(guān)注

    關(guān)注

    163

    文章

    4593

    瀏覽量

    122827
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6497

    瀏覽量

    191997
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    LPC2106在足球機(jī)器人控制中的應(yīng)用設(shè)計

    LPC2106在足球機(jī)器人控制中的應(yīng)用設(shè)計足球機(jī)器人融合了計算機(jī)視覺、模式識別、決策對策、自動控制
    發(fā)表于 03-28 14:03

    機(jī)器人視覺——機(jī)器人的“眼睛”

    目前產(chǎn)業(yè)機(jī)器人僅能在嚴(yán)格定義的結(jié)構(gòu)化環(huán)境中執(zhí)行預(yù)定指令動作,缺乏對環(huán)境的感知與應(yīng)變能力,這極大地限制了機(jī)器人的應(yīng)用。利用機(jī)器人視覺控制,
    發(fā)表于 01-23 15:02

    nao機(jī)器人與其他機(jī)器人的區(qū)別

    機(jī)器人在之前的機(jī)器人的基礎(chǔ)上,加入了可以自由便捷的運(yùn)動功能,兩個攝像頭精準(zhǔn)拍攝、全方位的視覺功能,還有一個超聲傳感器功能。傳感器可以識別人類和NAO
    發(fā)表于 02-13 15:43

    【mBot申請】視覺機(jī)器人

    申請理由:現(xiàn)在正在參與視覺機(jī)器人的項目,想了解更多的關(guān)于機(jī)器人的產(chǎn)品與知識。項目描述:水果采摘機(jī)器人機(jī)
    發(fā)表于 10-29 11:00

    自律型機(jī)器人制作入門.基于Arduino

    了一層硬件接口的Dreamer,使得硬件模塊的連接更加方便、簡單。《自律型機(jī)器人制作入門:基于Arduino》是關(guān)于Drearner控制板的第一本書,內(nèi)容循序漸進(jìn),圖文并茂。從最基礎(chǔ)的
    發(fā)表于 06-23 11:18

    先進(jìn)機(jī)器人控制

    ,運(yùn)動學(xué)部分從坐標(biāo)變換人手,介紹了正向運(yùn)動學(xué)方程的建立、逆向運(yùn)動學(xué)的求解以及機(jī)器人的微分運(yùn)動等內(nèi)容。控制結(jié)構(gòu)篇著重介紹機(jī)器人的傳感技術(shù)、位置控制和力
    發(fā)表于 09-19 15:30

    【下載】《機(jī)器人學(xué)、機(jī)器視覺控制――MATLAB算法基礎(chǔ)》

    `內(nèi)容簡介本書是關(guān)于機(jī)器人學(xué)和機(jī)器視覺的實(shí)用參考書, 第一部分“基礎(chǔ)知識”(第2章和第3章)介紹機(jī)器人及其操作對象的位置和姿態(tài)描述,以及
    發(fā)表于 01-17 17:38

    【下載】《機(jī)器人學(xué)、機(jī)器視覺控制――MATLAB算法基礎(chǔ)》

    `內(nèi)容簡介本書是關(guān)于機(jī)器人學(xué)和機(jī)器視覺的實(shí)用參考書, 第一部分“基礎(chǔ)知識”(第2章和第3章)介紹機(jī)器人及其操作對象的位置和姿態(tài)描述,以及
    發(fā)表于 04-08 18:19

    LabVIEW 的Tripod 機(jī)器人視覺處理和定位研究

    為對幾何體的識別和抓放過程?利用邊緣提取、濾波去噪、圓心檢測等算法采用LabVIEW視覺模塊及其庫函數(shù)進(jìn)行了圖像的預(yù)處理、特征提取以及中心點(diǎn)定位?研究結(jié)果表明基于LabVIEW的Tripod機(jī)器人系統(tǒng)能夠準(zhǔn)確
    發(fā)表于 06-01 06:00

    機(jī)器人如何識別?

    現(xiàn)在想做機(jī)器人圖像識別方面的研究,有問題請教大家,比如說:現(xiàn)在有十種瓶子,機(jī)器人識別我指定的瓶子,并把它從A位置移動到B位置,關(guān)鍵是如何識別
    發(fā)表于 11-04 09:02

    服務(wù)機(jī)器人視覺系統(tǒng)怎么設(shè)計?

    隨著計算機(jī)科學(xué)和自動控制技術(shù)的發(fā)展,越來越多的不同種類的智能機(jī)器人出現(xiàn)在工廠、生活當(dāng)中,機(jī)器人視覺系統(tǒng)作為智能機(jī)器人系統(tǒng)中一個重要的子系統(tǒng),
    發(fā)表于 04-07 07:27

    機(jī)器人視覺機(jī)器視覺有什么不一樣?

    的三維世界的識別。機(jī)器人視覺主要研究用計算機(jī)來模擬人的視覺功能從客觀事物的圖像中提取信息,進(jìn)行處理并加以理解,最終用于實(shí)際檢測、測量和控制。
    發(fā)表于 08-28 10:48

    四元數(shù)數(shù)控:工業(yè)機(jī)器人使用機(jī)器視覺系統(tǒng)的原因

    和提高工作效率,就必須引入機(jī)器視覺技術(shù)來實(shí)現(xiàn)對目標(biāo)的識別和定位。目前,裝備了機(jī)器視覺系統(tǒng)的工業(yè)機(jī)器人
    發(fā)表于 04-29 09:42

    工業(yè)機(jī)器人視覺實(shí)訓(xùn)平臺介紹

    ZN-RAI02工業(yè)機(jī)器人視覺實(shí)訓(xùn)平臺一、概述1、ZN-RAI02工業(yè)機(jī)器人視覺實(shí)訓(xùn)平臺以工業(yè)機(jī)器人
    發(fā)表于 07-01 06:38

    工業(yè)機(jī)器人視覺裝配實(shí)訓(xùn)平臺實(shí)驗

    、模塊化綜臺平臺各個功能模塊的認(rèn)識與實(shí)訓(xùn),可以讓學(xué)生了解機(jī)器人末端央具的機(jī)械組成、電氣控制回路、氣動控制回路、視覺
    發(fā)表于 07-01 12:05