国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Arduino的智能小車識(shí)別及夾取棋子設(shè)計(jì)

2020-10-09 11:07:00朱偉枝楊亞萍梁華成
關(guān)鍵詞:智能小車識(shí)別機(jī)械手

朱偉枝 楊亞萍 梁華成

摘要:以智能小車為載體、機(jī)械手為抓取機(jī)構(gòu),采用Arduino為核心控制器,利用OpenMV的形狀和顏色識(shí)別功能檢測(cè)棋子位置,提供了一種能夠完成識(shí)別和夾取棋子的任務(wù)的可實(shí)踐的合理化設(shè)計(jì)方案,結(jié)構(gòu)穩(wěn)定,程序設(shè)計(jì)簡(jiǎn)單。

關(guān)鍵詞:智能小車;Arduino;OpenMV;機(jī)械手;識(shí)別

中圖分類號(hào):TP242 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2020)08-0132-03

0 引言

嵌入式系統(tǒng)與微處理器近年來(lái)的發(fā)展突飛猛進(jìn),由此我們的日常生活中逐漸開(kāi)始大量應(yīng)用無(wú)線傳輸技術(shù)與圖像處理技術(shù)[1]。智能搬運(yùn)小車的功能核心是代替人來(lái)運(yùn)輸貨物,實(shí)現(xiàn)智能搬運(yùn)涉及到了兩個(gè)核心功能,一是識(shí)別,二是夾取。本文的主要設(shè)計(jì)思路是采用Arduino[2]作為智能小車的核心控制器,利用OpenMV[3]攝像頭模塊來(lái)實(shí)現(xiàn)圖像信息采集工作,并將收集到的圖像信息輸送到控制器上,控制器根據(jù)收到的信息做出相應(yīng)的指令動(dòng)作控制智能小車和機(jī)械手,從而實(shí)現(xiàn)智能小車自動(dòng)識(shí)別物體并將其夾起的功能。

1 系統(tǒng)總體設(shè)計(jì)

本文采用綠色的矩形棋子來(lái)模擬貨物,綠色和矩形是作為OpenMV的顏色和形狀識(shí)別特征,棋子是作為實(shí)物來(lái)測(cè)試機(jī)械手的工作。本文設(shè)計(jì)的自動(dòng)搬運(yùn)系統(tǒng)主要由傳感器、控制器、執(zhí)行器等組成,如圖1所示。

控制器Arduino單片機(jī)作為整個(gè)系統(tǒng)的控制核心,負(fù)責(zé)收集各個(gè)I/O口輸入的信息并進(jìn)行處理,實(shí)現(xiàn)各個(gè)模塊統(tǒng)一協(xié)調(diào)工作。傳感器部分包括OpenMV和超聲波測(cè)距模塊。OpenMV是一個(gè)功能強(qiáng)大的機(jī)器視覺(jué)模塊,利用廣角鏡頭使得識(shí)別范圍更加廣,采用具有識(shí)別顏色和形狀特征的組合算法,將收集到的信息實(shí)時(shí)通過(guò)串口上傳至Arduino控制器上,Arduino就會(huì)根據(jù)OpenMV上傳的數(shù)據(jù)作出判斷,從而控制智能小車和機(jī)械手的運(yùn)作。超聲波測(cè)距模塊主要負(fù)責(zé)確保車頭與棋子的距離,將收集到的數(shù)據(jù)經(jīng)處理后,通過(guò)串口將處理好的數(shù)據(jù)發(fā)送至Arduino上,保證機(jī)械手能準(zhǔn)確無(wú)誤夾取棋子。執(zhí)行器部分為機(jī)械手和電機(jī)。機(jī)械手由兩個(gè)舵機(jī)組成,一個(gè)舵機(jī)負(fù)責(zé)機(jī)械手臂的上下運(yùn)動(dòng),另一個(gè)則負(fù)責(zé)機(jī)械手的展開(kāi)和閉合,控制兩個(gè)舵機(jī)的工作就能控制整個(gè)機(jī)械手的工作;Arduino采用PID控制算法[4],控制電機(jī)轉(zhuǎn)動(dòng)方向和速度,可以使電機(jī)產(chǎn)生正轉(zhuǎn)、反轉(zhuǎn),從而根據(jù)兩輪差速原理使小車實(shí)現(xiàn)前進(jìn)、后退及轉(zhuǎn)彎等動(dòng)作。

2 系統(tǒng)軟件設(shè)計(jì)

2.1 總體控制流程

如圖2所示,智能小車通電后,所有硬件都進(jìn)行初始化,識(shí)別模塊開(kāi)始采集照片,需要準(zhǔn)確識(shí)別到目標(biāo)棋子的所在位置,并將處理好的目標(biāo)棋子的信息傳送給Arduino控制器,Arduino控制器接收到信號(hào)后發(fā)出指令控制智能小車的電機(jī)模塊開(kāi)始工作,并向棋子的位置靠近。為了保證機(jī)械手能準(zhǔn)確地夾起棋子,就需要控制好智能小車與棋子之間的距離,當(dāng)智能小車與棋子之間的距離在設(shè)定的閾值范圍之內(nèi)時(shí),電機(jī)模塊停止工作,Arduino控制器控制夾取模塊開(kāi)始工作,通過(guò)機(jī)械手把棋子夾起來(lái)。

2.2 行駛模塊程序設(shè)計(jì)

小車的行駛模塊包含幾個(gè)子函數(shù)模塊:前進(jìn)模塊run()函數(shù)、停止模塊stop()函數(shù)、轉(zhuǎn)彎模塊turn()函數(shù)和識(shí)別模塊search()函數(shù)。當(dāng)棋子在OpenMV識(shí)別區(qū)域中心時(shí),控制器就執(zhí)行前進(jìn)run()函數(shù)控制智能小車前往棋子所在位置;當(dāng)智能小車與棋子之間的距離在設(shè)定閾值范圍時(shí),控制器就執(zhí)行停止stop()函數(shù);當(dāng)棋子在OpenMV識(shí)別區(qū)域中心兩邊時(shí),控制器就執(zhí)行轉(zhuǎn)彎turn()函數(shù)控制智能小車前往棋子所在位置;當(dāng)OpenMV識(shí)別不到目標(biāo)棋子時(shí),控制器就執(zhí)行search()函數(shù),控制智能小車移動(dòng)到其他位置直到識(shí)別到棋子為止??刂齐姍C(jī)轉(zhuǎn)動(dòng)方向和速度采用PID算法運(yùn)行,設(shè)定智能小車正常直線運(yùn)動(dòng)時(shí)的PWM閾值,當(dāng)智能小車轉(zhuǎn)彎時(shí),分別對(duì)智能小車左右兩輪電機(jī)的參數(shù)進(jìn)行PID運(yùn)算,保證左右車輪實(shí)現(xiàn)差速轉(zhuǎn)彎。

2.3 識(shí)別模塊程序設(shè)計(jì)

如圖3所示,識(shí)別模塊采用具有識(shí)別顏色和形狀特征的組合算法,首先調(diào)用find_rects()函數(shù)對(duì)拍攝到的物體進(jìn)行形狀識(shí)別,若識(shí)別到的物體是矩形,再調(diào)用rect.corners()函數(shù),返回一個(gè)由矩形對(duì)象的四個(gè)角組成的四個(gè)元組的列表,使OpenMV只在這個(gè)區(qū)域內(nèi)進(jìn)行像素統(tǒng)計(jì),最后調(diào)用 get_statistics()函數(shù)進(jìn)行像素統(tǒng)計(jì),若LAB的三個(gè)通道的眾數(shù)分別在綠色的閾值范圍內(nèi),OpenMV就判定識(shí)別到了綠色的棋子。

2.4 機(jī)械手模塊程序設(shè)計(jì)

機(jī)械手模塊的動(dòng)作由兩個(gè)舵機(jī)來(lái)完成,分別命名為s1和s2,s1為機(jī)械臂的舵機(jī),s2為機(jī)械手的舵機(jī)。機(jī)械手模塊的程序設(shè)計(jì)包含putup()函數(shù)、putdown()函數(shù)、open()函數(shù)和close()函數(shù)。putup()函數(shù)和putdown()函數(shù)負(fù)責(zé)機(jī)械臂的抬起和放下,open()函數(shù)和close()函數(shù)負(fù)責(zé)機(jī)械手的展開(kāi)和閉合。

3 功能測(cè)試

本文設(shè)計(jì)測(cè)試主要用到Arduino IDE、OpenMV IDE進(jìn)行程序編寫,主要測(cè)試智能小車的功能包括識(shí)別功能、機(jī)械手夾取功能。

3.1 識(shí)別功能

為了對(duì)智能小車進(jìn)行識(shí)別功能測(cè)試,在測(cè)試區(qū)擺放了各種形狀各種顏色的物體。OpenMV通過(guò)廣角鏡頭對(duì)周圍環(huán)境進(jìn)行掃描,對(duì)采集到的圖像中的物體進(jìn)行顏色和形狀識(shí)別,首先對(duì)物體進(jìn)行形狀識(shí)別,然后在識(shí)別到的棋子形狀區(qū)域內(nèi)通過(guò)像素統(tǒng)計(jì)進(jìn)行顏色識(shí)別。經(jīng)多次試驗(yàn)表明,智能小車能成功識(shí)別到綠色棋子,設(shè)計(jì)能滿足要求。

3.2 夾取功能

當(dāng)智能小車與棋子的距離在設(shè)定的閾值范圍時(shí),智能小車會(huì)停止運(yùn)動(dòng),機(jī)械手開(kāi)始執(zhí)行工作。首先是s1舵機(jī)開(kāi)始工作,順時(shí)針向下旋轉(zhuǎn),然后s2舵機(jī)逆時(shí)針旋轉(zhuǎn),機(jī)械手夾爪接著張開(kāi),延時(shí)后再順時(shí)針旋轉(zhuǎn)夾住棋子。經(jīng)多次隨機(jī)測(cè)試,機(jī)械手的運(yùn)作也符合了設(shè)計(jì)要求。

4 結(jié)語(yǔ)

本文設(shè)計(jì)的智能搬運(yùn)小車,由Arduino與OpenMV組成,能夠完成目標(biāo)棋子的識(shí)別與夾取。智能搬運(yùn)小車根據(jù)實(shí)際生產(chǎn)需求,設(shè)計(jì)帶萬(wàn)向輪底盤與由機(jī)械臂及夾爪組成的機(jī)械手,可以科學(xué)規(guī)劃目標(biāo)物體的搬運(yùn)計(jì)劃,精確地實(shí)現(xiàn)小車在工廠的位置控制,按照設(shè)定的程序,能夠準(zhǔn)確識(shí)別物體和全自動(dòng)搬運(yùn)。其應(yīng)用可以大大減輕工人勞動(dòng)強(qiáng)度,提高生產(chǎn)效率,降低生產(chǎn)成本,縮短生產(chǎn)周期。

參考文獻(xiàn)

[1] 張錚.基于圖像處理的智能小車無(wú)線遠(yuǎn)程滅火[J].實(shí)驗(yàn)室研究與探索,2018(1):43-57.

[2] 趙勇.基于Arduino 和Android平臺(tái)的智能小車避障系統(tǒng)設(shè)計(jì)研究[D].西安:長(zhǎng)安大學(xué),2014.

[3] 鄒浩,郭雨婷,李佳盈,等.基于OPENMV的色彩引導(dǎo)機(jī)器人系統(tǒng)研究[J].科技資訊,2018(25):65-76.

[4] 趙永永.基于PID智能控制算法的智能車車速控制研究[J].軟件,2019(1):195-198.

猜你喜歡
智能小車識(shí)別機(jī)械手
抓取脆弱物體的機(jī)械手
基于STC89C51智能小車的移動(dòng)家居平臺(tái)的設(shè)計(jì)
基于HC—SR04超聲波傳感器的智能避障小車設(shè)計(jì)
智能安全防盜探測(cè)小車
基于單片機(jī)的循跡智能車系統(tǒng)設(shè)計(jì)
淺談哈密瓜病蟲害的防治措施
蘋果樹常見(jiàn)病蟲害防治技術(shù)
青島市中山公園園林樹木易混淆品種識(shí)別
論犯罪危險(xiǎn)人格的識(shí)別
搬運(yùn)機(jī)械手PLC控制系統(tǒng)設(shè)計(jì)
邵武市| 桐柏县| 墨竹工卡县| 新昌县| 建昌县| 怀柔区| 博白县| 丹东市| 中牟县| 皋兰县| 乌兰察布市| 安陆市| 仁怀市| 康保县| 青阳县| 延津县| 佛冈县| 宜城市| 抚州市| 乐平市| 宿迁市| 阜城县| 龙胜| 牟定县| 淅川县| 垣曲县| 黎平县| 贵溪市| 铜川市| 南汇区| 兴文县| 静乐县| 肥城市| 育儿| 西华县| 阿瓦提县| 道孚县| 武鸣县| 平阳县| 元氏县| 富蕴县|