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

?

基于語音和視覺聯(lián)控的移動抓取機(jī)器人設(shè)計與實現(xiàn)

2020-10-19 09:26龐博維
關(guān)鍵詞:機(jī)械手串口指令

楊 琨, 崔 敏, 龐博維

(五邑大學(xué) 智能制造學(xué)部, 廣東 江門 529020)

0 引言

隨著工業(yè)的快速發(fā)展, 機(jī)器人技術(shù)也得到了快速的發(fā)展,機(jī)器人除被廣泛應(yīng)用于工業(yè)制造領(lǐng)域,也被廣泛應(yīng)用于如智能家居,醫(yī)學(xué)治療、娛樂服務(wù)、軍事以及太空探索等領(lǐng)域,盡管它們的用途及形態(tài)各有不同,但是大都要求能精確地定位到三維(或二維)空間上的某一點(diǎn)進(jìn)行作業(yè),以完成對指定物品的抓取和放置,減少人工操作[1]。目前市場上現(xiàn)有的智能服務(wù)機(jī)器人或抓取結(jié)構(gòu)復(fù)雜, 成本高昂,或機(jī)器人運(yùn)行和抓取精度較低,穩(wěn)定性不足,工作效率低。

為此本文設(shè)計了一種基于語音和視覺聯(lián)控的移動抓取機(jī)器人,通過聲音對機(jī)器人下達(dá)指令,由語音模塊接收分辨指令,Openmv 視覺模塊尋找目標(biāo),Arduino 單片機(jī)控制機(jī)器人移動,實現(xiàn)抓取指定目標(biāo)(如某種顏色小球),并使機(jī)器人返回到指定點(diǎn)。 移動抓取機(jī)器人采用三輪作為移動方式,機(jī)械手為偏置曲柄滑塊機(jī)構(gòu),通過舵機(jī)帶動機(jī)械手升降,完成抓取動作。 該機(jī)器人具有動作靈敏,結(jié)構(gòu)輕巧,制作安裝方便等特點(diǎn)。

1 移動抓取機(jī)器人的總體架構(gòu)

移動抓取機(jī)器人由機(jī)器人本體和控制模塊兩大部分所組成,機(jī)器人本體由全向輪作為移動部分,并搭載由曲柄滑塊原理設(shè)計的機(jī)械臂以及機(jī)械爪; 控制模塊主要有Arduino 單片機(jī)、Openmv 視覺模塊及語音模塊, 總體架構(gòu)設(shè)計如圖1 所示。

圖1 總體架構(gòu)設(shè)計Fig.1 Overall architecture design

當(dāng)聲音把指令傳遞給語音模塊之后, 系統(tǒng)將指令轉(zhuǎn)換成為信號, 利用串口通信輸送到Arduino 單片機(jī)上,再由Arduino 單片機(jī)將信號輸送給Openmv 視覺模塊。 在Openmv 視覺模塊中進(jìn)行顏色識別以及距離判斷,再把物體位置信息準(zhǔn)確返回給Arduino 單片機(jī),使機(jī)器人準(zhǔn)確的移動到物體可被抓取范圍,并實施抓取。在完成抓取動作之后,還會判斷是否已抓取到物體,若未抓取到,將再次進(jìn)行抓??;并可以通過屏幕實時顯示機(jī)器人移動速度。

2 機(jī)器人本體結(jié)構(gòu)設(shè)計

總體機(jī)械結(jié)構(gòu)分為基座和抓取兩部分,如圖2 所示?;Y(jié)構(gòu)采用三層底板作為搭載層,總體外觀呈龜形;下底板2 裝配有三個全向輪1, 每個全向輪配備具有一定減速比并自帶霍爾編碼器的電機(jī); 基座的主要機(jī)械結(jié)構(gòu)(如車輪等)嵌入在三層底板之內(nèi),使得機(jī)械手及運(yùn)動部件不易受到碰撞損害,更好地保護(hù)重要部分。

抓取結(jié)構(gòu)由機(jī)械臂、 機(jī)械爪和Openmv 視覺云臺三部分組成。 用舵機(jī)板6 固定升降舵機(jī)5, 導(dǎo)桿11 上安裝有連桿機(jī)構(gòu)8,升降舵機(jī)5 控制機(jī)械爪10 升降,實現(xiàn)對物體的抓??;Openmv 視覺云臺7 采用舵機(jī)方式控制。

(1)機(jī)械臂結(jié)構(gòu)設(shè)計。 主要由升降舵機(jī)5、舵機(jī)板6、連桿機(jī)構(gòu)8、導(dǎo)桿11 組成。 如圖2 所示。 以舵機(jī)2 為動力源,采用曲柄滑塊機(jī)構(gòu),光軸與直線軸承的配合,實現(xiàn)機(jī)械爪的上下升降,提升結(jié)構(gòu)的順暢性。

(2)Openmv 視覺模塊云臺設(shè)計。如圖2 Openmv 視覺模塊云臺7 所示。 通過舵機(jī)旋轉(zhuǎn)方式,使視覺模塊旋轉(zhuǎn)、調(diào)整角度,實現(xiàn)實時跟蹤目標(biāo)物體。

圖2 機(jī)器人結(jié)構(gòu)示意圖Fig.2 Schematic diagram of robot structure

3 控制模塊設(shè)計

3.1 硬件設(shè)計及工作原理

(1)硬件設(shè)計。移動抓取機(jī)器人控制模塊的組成與功能有: ①Arduino 主控模塊采用USB 接口的核心電路板,具有多路數(shù)字輸入輸出端口。 有多個PWM 脈寬調(diào)制接口,以改變頻率及占空比,并有若干串口通信。 以Arduino作為控制模塊的通信核心, 分別控制3 個全向輪移動及視覺模塊、 語音模塊的串口通信, 接受并發(fā)送數(shù)據(jù);②Openmv 視覺模塊利用攝像頭進(jìn)行顏色追蹤,并發(fā)送物體的X、Y 坐標(biāo)。 通過物體坐標(biāo)與攝像頭中心坐標(biāo)對比,發(fā)送信號給Arduino 單片機(jī),使機(jī)器人通過算法移動至目標(biāo)物體;③語音模塊采用文本方式編譯語音內(nèi)容,并轉(zhuǎn)換為串口數(shù)據(jù),與Arduino 進(jìn)行數(shù)據(jù)傳輸。通過語音輸入,實現(xiàn)控制機(jī)器人執(zhí)行不同動作;④其余模塊采用三個全向輪實現(xiàn)機(jī)器人的移動,選擇帶有霍爾編碼器的電機(jī),對車輪轉(zhuǎn)速進(jìn)行PID 調(diào)控,電源選擇12V 供電,降壓模塊DC-DC。

(2)工作原理。 ①語音模塊接收到語音下達(dá)的指令,語音模塊將指令轉(zhuǎn)化為字符, 發(fā)送給Arduino 單片機(jī);②Arduino 單片機(jī)接收到語音模塊發(fā)送過來的指令后,對指令進(jìn)行區(qū)分,執(zhí)行不同動作:手機(jī)藍(lán)牙操控機(jī)器人、視覺模塊智能識別抓取指定物體。 液晶屏顯示當(dāng)前機(jī)器人車速;③Openmv 視覺模塊接收到Arduino 單片機(jī)指令,尋找指定顏色的物體,將物體X、Y 坐標(biāo)、物體的像素值、面積等數(shù)據(jù)進(jìn)行處理分析, 最后把處理之后的數(shù)據(jù)發(fā)送給Arduino 單片機(jī),由Arduino 單片機(jī)驅(qū)動電機(jī),移動至物體面前;④由Openmv 視覺模塊判定機(jī)器人是否移動至目標(biāo)物體,機(jī)械手可抓取的范圍內(nèi)。 若是,可發(fā)送指令給Arduino 單片機(jī),執(zhí)行機(jī)械手抓??;否則將重新移動機(jī)器人直至物體在抓取范圍內(nèi)。若抓錯物體,機(jī)械手將放下被抓錯物體,并重新尋找目標(biāo)物體;⑤在成功抓取目標(biāo)物體之后,Openmv 視覺模塊尋找視覺基準(zhǔn)系統(tǒng)(AprilTag)指定地點(diǎn),將物體放置指定位置。

控制流程如圖3 所示,由語音模塊接收指令,執(zhí)行小球判斷之后, 通過串口通信把信號傳輸給Arduino 單片機(jī),并由Openmv 視覺模塊做視覺算法處理實現(xiàn)語音和視覺的聯(lián)控。

圖3 控制流程示意圖Fig.3 Control flow diagram

3.2 軟件設(shè)計

(1)Arduino 控制算法。 增量式PI 控制算法調(diào)控電機(jī),實現(xiàn)速度穩(wěn)定可控,保持在穩(wěn)定的數(shù)值,當(dāng)電壓不穩(wěn)定或者電壓下降時仍能保證機(jī)器人正常速度運(yùn)行。 手機(jī)藍(lán)牙連接機(jī)器人,通過發(fā)送指令,操控機(jī)器人移動及機(jī)械手的控制。顯示屏顯示車輪轉(zhuǎn)速。 圖4 為Arduino 控制流程圖。

圖4 Arduino 控制流程圖Fig.4 Arduino control flow graph

(2)Openmv 視覺模塊控制算法。 利用色域區(qū)分物體,通過每個色域的面積大小判別離機(jī)器人最近的目標(biāo)物體,再把最近的目標(biāo)物體的坐標(biāo)、像素值、高度等數(shù)據(jù)提取。 物體的坐標(biāo)值與Openmv 視覺模塊的中心坐標(biāo)進(jìn)行對比,調(diào)整機(jī)器人姿態(tài),使視覺模塊中心坐標(biāo)與物體的坐標(biāo)一致,保證機(jī)器人正方向?qū)?zhǔn)目標(biāo)物體。通過目標(biāo)物體反饋的像素值調(diào)整Openmv 視覺模塊的舵機(jī)云臺, 調(diào)節(jié)視覺模塊角度,實時跟蹤目標(biāo)物體;當(dāng)機(jī)械臂夾取物體之后,通過閾值和像素值判斷是否夾取到目標(biāo)物體;把視覺基準(zhǔn)系統(tǒng)(Apriltag) 作為放置物體的目標(biāo)地點(diǎn), 獲取Apriltag 標(biāo)簽位置, 通過算法控制機(jī)器人移動至目標(biāo)地點(diǎn)。 Openmv 視覺模塊算法如圖5 所示。

圖5 Openmv 視覺模塊算法Fig.5 Visual module algorithm

機(jī)器人的總體控制程序是由Openmv 視覺模塊進(jìn)行數(shù)據(jù)的采集、分析及處理。再將處理后的數(shù)據(jù)經(jīng)過串口通信傳給Arduino。 Arduino 把接收到的數(shù)據(jù)進(jìn)行對比,執(zhí)行相應(yīng)的動作,例如前進(jìn)、后退、機(jī)械手夾球等。

Openmv 視覺模塊與Arduino 的串口通信接口:

Openmv 視覺模塊P4(TX)--RX2

Openmv 視覺模塊P5(RX)--TX2

Arduino 串口調(diào)用:Serial2.print();

(3)Openmv 視覺模塊云臺控制算法。 如圖6 所示為

云臺控制算法, 由于Openmv 視覺模塊位于機(jī)械手上方,

需要調(diào)整一定的角度才能看到小球、 機(jī)械爪以及視覺基

準(zhǔn)系統(tǒng)“Apriltag”,因此,Openmv 視覺模塊在使用中設(shè)計了三個位置,第一個為初始位置(俯角45°),方便大范圍

尋找小球; 第二個位置為檢測位置 (初始位置向下旋轉(zhuǎn)

45°),用于檢測機(jī)械手是否夾取到小球,以及是否夾取了

正確顏色的小球; 第三個位置為尋找Apriltag 標(biāo)簽位置,

在夾取正確顏色小球之后, 配合底盤移動控制,Openmv視覺模塊通過獲取Apriltag 標(biāo)簽信息,返回指定地點(diǎn)。

圖6 云臺控制算法Fig.6 Cradle head control algorithm

(4)語音模塊控制算法。 本系統(tǒng)選用WEGASUN-M6 語音模塊,用于識別、處理語音關(guān)鍵詞,將其轉(zhuǎn)換為信號發(fā)送給Arduino 單片機(jī), 其執(zhí)行流程圖如圖7 所示。

語音模塊與Arduino 的串口通信接口:

語音模塊TX—RX0 Arduino

語音模塊RX—TX0 Arduino

Arduino 串口調(diào)用:Serial.print()。

圖7 語音模塊執(zhí)行流程圖Fig.7 Voice module execution flow graph

4 總結(jié)

本文所設(shè)計的龜形多層式抓取機(jī)器人采用語音模塊接收指令信息,Openmv 視覺模塊做視覺算法處理, 識別位置信息,由Arduino 單片機(jī)控制機(jī)器人移動,抓取指定目標(biāo)物體。 實驗結(jié)果表明;利用語音和視覺的聯(lián)控機(jī)制,能夠準(zhǔn)確地實現(xiàn)機(jī)器人對指定目標(biāo)的抓取及轉(zhuǎn)運(yùn)。

猜你喜歡
機(jī)械手串口指令
淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
某數(shù)控車床的桁架機(jī)械手結(jié)構(gòu)設(shè)計
TRIZ與情景分解法在換刀機(jī)械手設(shè)計中的應(yīng)用
基于粒子群迭代的一種冗余機(jī)械手逆解算法
搬運(yùn)機(jī)械手PLC控制系統(tǒng)設(shè)計
數(shù)字電源內(nèi)部數(shù)據(jù)傳輸?shù)拇谕ㄐ欧椒▽崿F(xiàn)
USB接口的多串口數(shù)據(jù)并行接收方法探索
串口技術(shù)的實物調(diào)試和虛擬仿真聯(lián)合教學(xué)模式
中斷與跳轉(zhuǎn)操作對指令串的影響
基于匯編指令分布的惡意代碼檢測算法研究
略阳县| 淮安市| 棋牌| 浮山县| 彭泽县| 北安市| 台安县| 成安县| 资中县| 修水县| 疏勒县| 东源县| 迭部县| 榆树市| 资兴市| 五家渠市| 洞头县| 界首市| 营口市| 象山县| 双鸭山市| 襄城县| 东阿县| 手游| 柳江县| 合肥市| 东城区| 攀枝花市| 霍邱县| 叶城县| 延津县| 松溪县| 科尔| 大连市| 惠州市| 乌海市| 井研县| 洛隆县| 称多县| 贵定县| 措美县|