• 
    

    
    

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

      基于LabVIEW的機(jī)械臂分揀系統(tǒng)設(shè)計(jì)

      2022-04-13 11:44:38陳強(qiáng)
      電子設(shè)計(jì)工程 2022年6期
      關(guān)鍵詞:載物臺(tái)舵機(jī)串口

      陳強(qiáng)

      (安康學(xué)院科研處,陜西安康 725000)

      傳統(tǒng)的原料分揀中普遍采用人工分揀,效率很低,不但限制了后續(xù)工序的快速進(jìn)行,同時(shí)也推高了產(chǎn)品的生產(chǎn)成本。為了提高效率,可以使用工業(yè)機(jī)器人代替人完成簡(jiǎn)單重復(fù)的工作,或代替高級(jí)技工完成精密度要求較高的任務(wù)[1-3]。

      LabVIEW 是一種用圖標(biāo)代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語(yǔ)言,其VI 代碼由框圖組成,硬件接口豐富,程序代碼可通過(guò)驅(qū)動(dòng)直接應(yīng)用于硬件?;贚abVIEW的機(jī)械臂控制,既能滿足機(jī)械手臂較高的控制要求,還簡(jiǎn)化了程序開(kāi)發(fā)過(guò)程,提高了開(kāi)發(fā)效率[4-5]。該設(shè)計(jì)利用虛擬儀器LabVIEW 平臺(tái)設(shè)計(jì)了機(jī)械臂的分揀系統(tǒng),可以對(duì)指定區(qū)域的目標(biāo)進(jìn)行分類(lèi)放置,完成自動(dòng)分揀的功能,代替人工分揀,提高工作效率。

      1 總體方案

      該設(shè)計(jì)搭建了機(jī)械臂分揀系統(tǒng),能夠?qū)⒎旁谥付▍^(qū)域的不同位置、形狀的目標(biāo)進(jìn)行分揀,并在PC端獲得目標(biāo)的種類(lèi)、數(shù)量、位置等統(tǒng)計(jì)信息。為此,方案利用虛擬儀器LabVIEW 編寫(xiě)讀取目標(biāo)信息數(shù)據(jù),并且利用顯示控件進(jìn)行顯示;通過(guò)判斷結(jié)構(gòu)選出最合適的數(shù)據(jù)組;將選出的數(shù)據(jù)組轉(zhuǎn)化為通信協(xié)議可以識(shí)別的串口通信指令;通過(guò)串口將控制指令有序發(fā)出;機(jī)械臂控制板解析串口接收到的指令,按步驟完成分揀操作,完成后恢復(fù)初始姿態(tài),等待下一次運(yùn)行??傮w的操作流程如圖1 所示。

      圖1 總體操作流程

      該系統(tǒng)在完成整個(gè)操作過(guò)程中,可以在顯示器上同步顯示出目標(biāo)數(shù)量,并繪制出目標(biāo)物體在載物臺(tái)上的坐標(biāo)圖。系統(tǒng)程序具有可移植性,適用性較強(qiáng),易于拓展,方便人機(jī)交互[6]。

      2 硬件平臺(tái)

      2.1 機(jī)械臂與載物臺(tái)

      為了在空間中的不同位置和方向抓取和傳送物體,傳送機(jī)構(gòu)采用6 個(gè)自由度的機(jī)械臂。機(jī)械臂的每個(gè)自由度通過(guò)其操縱器的獨(dú)立驅(qū)動(dòng)關(guān)節(jié)捕捉物體在其工作空間中的任何位置和姿勢(shì)。精密的6 自由度機(jī)械臂可以完成極其復(fù)雜的動(dòng)作[7]。該系統(tǒng)的6自由度機(jī)械臂及載物臺(tái)如圖2 所示。

      圖2 機(jī)械臂及載物臺(tái)

      機(jī)械臂從末端到底座共6 個(gè)自由度,除底座以外的5 個(gè)自由度由5 個(gè)LD-20MG 數(shù)字舵機(jī)提供,底座自由度由一個(gè)LD-1501MG 數(shù)字舵機(jī)提供。這些數(shù)字舵機(jī)使用PWM 脈寬型調(diào)節(jié)角度,周期為20 ms、占空比為0.5~2.5 ms的脈寬電平對(duì)應(yīng)舵機(jī)0~180°角度范圍,且成線性關(guān)系[8]。舵機(jī)控制器采用500~2 500 數(shù)值對(duì)應(yīng)舵機(jī)控制輸出角度的占空比0.5~2.54 ms,舵機(jī)的控制精度是3 μs,可以滿足機(jī)械臂的要求[9]。載物臺(tái)采用鋁合金,使用T 型栓、法蘭螺母和角碼固定,可保證結(jié)構(gòu)牢固,機(jī)械臂不產(chǎn)生搖晃偏移,不影響操作精度[10]。

      2.2 機(jī)械臂控制模塊

      機(jī)械臂的動(dòng)作由LSC 舵機(jī)控制板完成控制,接口較為豐富:

      1)藍(lán)牙接口:支持移動(dòng)設(shè)備使用APP 控制;

      2)USB 接口:連接PC 機(jī),通過(guò)上位機(jī)軟件控制;

      3)二次開(kāi)發(fā)接口:經(jīng)過(guò)串口完成代碼控制;

      4)PS2 手柄接收器接口:支持使用PS 手柄控制。

      控制板使用單片機(jī)控制,使用單片機(jī)前要對(duì)寄存器和中斷等進(jìn)行配置。當(dāng)單片機(jī)串口收到數(shù)據(jù)后,要對(duì)數(shù)據(jù)進(jìn)行判斷,如果是正確的數(shù)據(jù)幀就進(jìn)行解析,如果不是正確的數(shù)據(jù)幀就將數(shù)據(jù)丟棄,不作處理。采用狀態(tài)機(jī)對(duì)數(shù)據(jù)幀進(jìn)行判斷,判斷數(shù)據(jù)幀是否正確的流程是首先設(shè)置狀態(tài)變量St,St的取值有0、1、2,St的初始值是0,當(dāng)有數(shù)據(jù)到達(dá)時(shí),先判斷第一個(gè)字節(jié)是否是0x55,如果是0x55,St的值賦為1,若不是,St的值還保持為0,丟棄這一幀數(shù)據(jù);若St的值為1 時(shí),則對(duì)第二個(gè)字節(jié)進(jìn)行判斷,如果是0x55,則St的值賦為2,確定這一幀數(shù)據(jù)是正確的數(shù)據(jù),進(jìn)行后續(xù)數(shù)據(jù)的解析,若不是,則將St的值賦為0,將這一幀的數(shù)據(jù)丟棄,繼續(xù)等待下一幀數(shù)據(jù)出現(xiàn)。整個(gè)流程循環(huán)運(yùn)行,持續(xù)不斷接收數(shù)據(jù)幀并進(jìn)行判斷。一旦有正確的數(shù)據(jù)到達(dá),則進(jìn)行數(shù)據(jù)解析,控制機(jī)械臂完成相關(guān)操作。數(shù)據(jù)解析流程如圖3 所示。

      圖3 數(shù)據(jù)解析流程

      3 上位機(jī)部分

      上位機(jī)模塊在系統(tǒng)中起主控作用,完成指令文件的讀取和解釋、發(fā)送等功能。打開(kāi)操作界面,通過(guò)VISA 配置后打開(kāi)串口,讀取根目錄中的“機(jī)械臂參數(shù).txt”文件,將文件中的數(shù)據(jù)以數(shù)組的形式保存在內(nèi)存中。

      上位機(jī)內(nèi)部程序循環(huán)讀取載物臺(tái)上的目標(biāo)信息數(shù)據(jù),一旦目標(biāo)信息發(fā)生改變,系統(tǒng)即可判斷出載物臺(tái)上目標(biāo)物體發(fā)生了改變,需要執(zhí)行與之對(duì)應(yīng)的分揀操作,并將這些操作步驟轉(zhuǎn)化為操作指令,發(fā)送至下位機(jī),完成分揀。在機(jī)械臂完成分揀操作以后,由上位機(jī)給下位機(jī)發(fā)送復(fù)位指令,使機(jī)械臂回到初始位置,等待載物臺(tái)上有新的目標(biāo)出現(xiàn),完成新一輪的分揀操作[11]。

      3.1 機(jī)械臂動(dòng)作數(shù)據(jù)獲取

      首先,在載物臺(tái)上建立坐標(biāo)軸,將有效區(qū)域劃分成有規(guī)律的柵格,在對(duì)應(yīng)的位置測(cè)出相應(yīng)數(shù)據(jù),每一組XY坐標(biāo)值對(duì)應(yīng)一個(gè)柵格,根據(jù)這一對(duì)應(yīng)關(guān)系,建立數(shù)據(jù)組的索引編號(hào)。然后按照順序進(jìn)行每個(gè)柵格的機(jī)械臂具體路徑測(cè)試,將到達(dá)每一個(gè)柵格的路徑分解成一定步驟進(jìn)行,并記錄此時(shí)的舵機(jī)位置,將位置信息保存在“路徑參數(shù).txt”文件中。

      當(dāng)該系統(tǒng)開(kāi)始運(yùn)行時(shí),首先解析出該VI 所在目錄的路徑,并與“路徑參數(shù).txt”構(gòu)成新的路徑,借以將該文檔內(nèi)容讀取出來(lái),劃分為一組一組的數(shù)據(jù),并將數(shù)據(jù)存儲(chǔ)以備后續(xù)程序使用。具體過(guò)程:首先根據(jù)存儲(chǔ)數(shù)據(jù)時(shí)的約定,按組截取字符串,通過(guò)使用“分組For 循環(huán)”將所有字符串按順序分組,再將分好組的字符串轉(zhuǎn)化為對(duì)應(yīng)的數(shù)值。每個(gè)分組里的數(shù)據(jù)被保存在一維數(shù)組里,所有分組都執(zhí)行完后,數(shù)據(jù)被轉(zhuǎn)化成二維數(shù)組[12]。

      3.2 動(dòng)作指令的調(diào)用

      目標(biāo)參數(shù)以文檔的形式在該VI 根目錄的同一目錄下更新,每當(dāng)文檔的數(shù)據(jù)發(fā)生變化,即表示載物臺(tái)上的目標(biāo)發(fā)生變化。為了檢測(cè)到文檔的數(shù)據(jù)發(fā)生變化,該文采用在某一時(shí)刻讀出文檔中的數(shù)據(jù),經(jīng)短暫延時(shí)后第二次讀取數(shù)據(jù)并比較,兩次讀出的內(nèi)容一致時(shí),說(shuō)明文檔內(nèi)容沒(méi)有改變,即載物臺(tái)上的目標(biāo)情況沒(méi)有變化。此時(shí),需要將物塊坐標(biāo)圖上的點(diǎn)清零。當(dāng)目標(biāo)信息發(fā)生改變時(shí),將文檔內(nèi)容讀出來(lái),根據(jù)信息的存儲(chǔ)規(guī)則,計(jì)算出當(dāng)前載物臺(tái)上的目標(biāo)數(shù)量,在只有一臺(tái)機(jī)械臂的情況下,目標(biāo)的數(shù)量即為機(jī)械臂需要進(jìn)行分揀操作的次數(shù)。目標(biāo)信息不變時(shí),循環(huán)次數(shù)默認(rèn)為0,即不進(jìn)行后續(xù)操作[13]。

      從文檔里讀出來(lái)的數(shù)據(jù)包括X軸坐標(biāo)、Y軸坐標(biāo)、表示目標(biāo)類(lèi)型的數(shù)據(jù),并不能直接用于機(jī)械臂的控制,還須將坐標(biāo)數(shù)據(jù)轉(zhuǎn)化為與之對(duì)應(yīng)的動(dòng)作指令組。該文采用近似的方法,根據(jù)測(cè)量數(shù)據(jù)時(shí)選擇的閾值來(lái)對(duì)數(shù)據(jù)進(jìn)行近似確定。以坐標(biāo)(2,2)且閾值為0.75 為例,按照0.75的閾值依次可得到(0.75,0.75)、(1.5,1.5)、(2.25,2.25.)、(3,3)等多個(gè)坐標(biāo),對(duì)(1.5,1.5)、(2.25,2.25.)兩個(gè)坐標(biāo)而言,(2.25,2.25)離(2,2)更近一些,可用(2.25,2.25)這個(gè)坐標(biāo)點(diǎn)的動(dòng)作數(shù)據(jù),來(lái)近似完成(2,2)的動(dòng)作?;谶@一原理,可以通過(guò)減小閾值來(lái)提高測(cè)量密度,在同等大小的區(qū)域中獲得更多更準(zhǔn)確的機(jī)械臂動(dòng)作數(shù)據(jù),進(jìn)而提高系統(tǒng)精度。

      3.3 動(dòng)作指令的通信

      動(dòng)作指令由上位機(jī)經(jīng)串口發(fā)送給機(jī)械臂。要控制6 個(gè)舵機(jī),給舵機(jī)編號(hào)并規(guī)定控制機(jī)械臂執(zhí)行動(dòng)作所需時(shí)間。6 個(gè)舵機(jī)的編號(hào)以及要轉(zhuǎn)到的角度分別由十六進(jìn)制指令表示。指令通過(guò)串口發(fā)送至舵機(jī)控制板之后,舵機(jī)控制板便會(huì)對(duì)其進(jìn)行解析,在指定的時(shí)間里完成單步動(dòng)作,按順序完成每一單步,即可完成整個(gè)分揀操作。

      指令發(fā)送的程序置于循環(huán)之中,循環(huán)次數(shù)即載物臺(tái)上的目標(biāo)數(shù)量,第一個(gè)循環(huán)執(zhí)行完后,所有目標(biāo)的坐標(biāo)信息以簇的形式輸入XY坐標(biāo)控件,并以坐標(biāo)點(diǎn)的形式在坐標(biāo)圖中顯示當(dāng)前目標(biāo)所在位置。當(dāng)不需要執(zhí)行分揀操作時(shí),會(huì)對(duì)坐標(biāo)圖進(jìn)行二次清零,保證坐標(biāo)圖不會(huì)錯(cuò)誤顯示目標(biāo)的位置,引起系統(tǒng)誤操作。

      使用LabVIEW 完成通信會(huì)用到VISA 框架,這是LabVIEW 儀器驅(qū)動(dòng)VI 中的底層函數(shù)。VISA 能控制VXI、GPIB 串口或者基于計(jì)算機(jī)的儀器,并根據(jù)儀器類(lèi)型調(diào)用合適的驅(qū)動(dòng)程序[14-15]。

      文中使用的VISA 通信函數(shù)是“VISA 寫(xiě)入”和“VISA 讀取”函數(shù)。由于串口通信需要配置額外參數(shù),所以必須先運(yùn)行“VISA 配置串口”VI,將VISA 資源名稱(chēng)識(shí)別的端口初始化為指定設(shè)置[16-18]。

      4 系統(tǒng)調(diào)試與結(jié)果分析

      為了驗(yàn)證分揀操作的效果,把兩個(gè)實(shí)驗(yàn)?zāi)繕?biāo)放入工作區(qū)域,測(cè)試機(jī)械臂的抓取過(guò)程完成情況。上位機(jī)顯示如圖4 所示,兩個(gè)目標(biāo)的坐標(biāo)位于柵格(29,10)和(19,10),產(chǎn)生一個(gè)索引,根據(jù)索引得到對(duì)應(yīng)的指令。該指令經(jīng)串口送入機(jī)械臂控制板,即可操作機(jī)械臂完成目標(biāo)分揀,整個(gè)分揀過(guò)程如圖5 所示。該指令操作:底座旋轉(zhuǎn)-24.75°(6 號(hào)舵機(jī)),大臂旋轉(zhuǎn)44.1°(5 號(hào)舵機(jī)),小臂處兩個(gè)自由度分別旋轉(zhuǎn)-38.61°(4 號(hào)舵機(jī))、12.87°(3 號(hào)舵機(jī)),機(jī)械臂末端旋轉(zhuǎn)-16.83°(2 號(hào)舵機(jī)),抓手張開(kāi)-58.95°(1 號(hào)舵機(jī)),到達(dá)目標(biāo)上方。完成這一動(dòng)作后,機(jī)械臂下降至目標(biāo)物體的高度,完成夾取動(dòng)作。

      圖4 上位機(jī)前面板圖

      圖5 機(jī)械臂分揀測(cè)試

      機(jī)械臂夾取目標(biāo)物體,到達(dá)過(guò)渡位置時(shí),可進(jìn)行分類(lèi)??筛鶕?jù)目標(biāo)的具體信息,按照分類(lèi)規(guī)則將其放置在規(guī)定位置。圖5 所示抓取過(guò)程中,各舵機(jī)旋轉(zhuǎn)角度如表1 所示。

      表1 機(jī)械臂舵機(jī)角度

      經(jīng)測(cè)試,文中所設(shè)計(jì)的系統(tǒng)可以完成分揀運(yùn)作,而且?jiàn)A取過(guò)程的精確度可以根據(jù)需要進(jìn)行調(diào)整。系統(tǒng)獲取數(shù)據(jù)的方式是將目標(biāo)區(qū)域分成若干個(gè)柵格,沿著X、Y軸平移,按順序測(cè)出機(jī)械臂的參數(shù),并將這一過(guò)程分解成分步動(dòng)作,所采取的索引編號(hào)是根據(jù)木塊重心所在位置進(jìn)行判斷的,平移位移的閾值越小,則動(dòng)作精度越高,可根據(jù)目標(biāo)的實(shí)際情況,選擇合適的動(dòng)作精度執(zhí)行分揀任務(wù)。而在安裝載物臺(tái)和機(jī)械臂時(shí),最大程度保持連接穩(wěn)定性,確保機(jī)械臂不因操作產(chǎn)生移位,也可以提高操作精度,同時(shí)也能保護(hù)設(shè)備,減少磨損。

      5 結(jié)論

      文中采用LabVIEW 平臺(tái)完成機(jī)械臂分揀系統(tǒng)的設(shè)計(jì),經(jīng)測(cè)試,該系統(tǒng)成功完成了數(shù)據(jù)檢測(cè)、顯示、控制機(jī)械臂分揀等功能。系統(tǒng)能夠根據(jù)目標(biāo)的形狀信息調(diào)取不同的動(dòng)作組指令數(shù)據(jù),完成載物臺(tái)上目標(biāo)的抓取和分類(lèi)。創(chuàng)新之處在于可以通過(guò)減小閾值來(lái)提高測(cè)量密度,增加機(jī)械臂動(dòng)作數(shù)據(jù),提高系統(tǒng)精度。系統(tǒng)調(diào)試方便,操作簡(jiǎn)單,可移植性好,具有一定的實(shí)用價(jià)值。

      猜你喜歡
      載物臺(tái)舵機(jī)串口
      淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
      分光計(jì)的調(diào)節(jié)原理和方法
      含齒隙彈載舵機(jī)的全局反步模糊自適應(yīng)控制
      基于dsPIC單片機(jī)的飛艇舵機(jī)控制實(shí)現(xiàn)
      電子制作(2018年1期)2018-04-04 01:48:14
      基于高速同步485總線通信的多通道舵機(jī)控制器設(shè)計(jì)
      USB接口的多串口數(shù)據(jù)并行接收方法探索
      基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
      基于云模型的舵機(jī)同步控制
      分光計(jì)的全程有目的調(diào)節(jié)
      電子世界(2014年23期)2014-10-21 12:55:13
      雙叉剪式升降臺(tái)驅(qū)動(dòng)點(diǎn)計(jì)算公式創(chuàng)制使用
      易门县| 彰武县| 阳谷县| 登封市| 南宫市| 广汉市| 河间市| 凤城市| 什邡市| 榆社县| 黄石市| 晋州市| 龙游县| 屯门区| 重庆市| 临夏市| 曲阳县| 淮安市| 运城市| 永和县| 漳浦县| 西和县| 菏泽市| 兴宁市| 清苑县| 黄骅市| 石首市| 高密市| 孟州市| 海盐县| 郎溪县| 方城县| 蒙城县| 博野县| 和龙市| 锡林浩特市| 瑞金市| 盱眙县| 枞阳县| 满洲里市| 基隆市|