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

?

基于解析器的Kuka-Volvo機(jī)器人離線焊接程序檢查

2020-05-11 06:21王建偉何洪巖
科技資訊 2020年7期
關(guān)鍵詞:焊接機(jī)器人

王建偉 何洪巖

摘? 要:為了縮短汽車的投產(chǎn)周期,汽車自動化焊裝生產(chǎn)線多采用仿真驗(yàn)證然后輸出離線程序的方式完成工業(yè)機(jī)器人的編程工作。而由于軟件、人為等方面的因素,輸出的機(jī)器人程序可能存在各種錯誤,削弱了離線編程的優(yōu)勢。文章介紹了一種基于flex和bison編寫的Kuka-Volvo機(jī)器人焊接程序的解析器,對輸出的離線程序進(jìn)行檢查。實(shí)驗(yàn)證明,該解析器可以有效檢測出程序中的錯誤,從而及早修正程序中的錯誤,保證離線程序的質(zhì)量,使汽車能夠盡快投產(chǎn)。

關(guān)鍵詞:機(jī)器人? 解析器? 焊接? 程序檢查

隨著科技的不斷進(jìn)步,汽車行業(yè)的競爭也日趨激烈。白車身制造是汽車制造中不可或缺的一環(huán),而白車身焊接的柔性化不及涂裝和總裝,因此,白車身焊接線投產(chǎn)周期的縮短,有利于將汽車產(chǎn)品盡快推向市場,提高市場競爭力,從而提升企業(yè)的經(jīng)濟(jì)效益。

在白車身焊裝自動生產(chǎn)線上,均使用工業(yè)機(jī)器人完成焊接任務(wù),以提高效率,保證焊接質(zhì)量,并降低工人勞動強(qiáng)度。機(jī)器人的焊接工作是由機(jī)器人程序驅(qū)動的,為了進(jìn)一步縮短投產(chǎn)周期,并降低現(xiàn)場調(diào)試風(fēng)險,機(jī)器人程序多采用仿真軟件驗(yàn)證的離線編程方式編制。由于軟件不夠完善以及工作人員的疏漏,難免會出現(xiàn)輸出的離線程序存在各種各樣的問題,無法供生產(chǎn)線上的機(jī)器人直接使用,而在現(xiàn)場修改程序是一件費(fèi)時費(fèi)力的工作,削弱了離線編程所帶來的優(yōu)勢。針對該情況,需要有一種手段來檢測出程序中存在的語法錯誤和邏輯錯誤,方便在程序發(fā)放給生產(chǎn)線上的機(jī)器人前對錯誤進(jìn)行修正。

使用解析器可以有效地檢測程序中的語法錯誤,而應(yīng)用解析器生成的語法樹則可以進(jìn)行邏輯錯誤的檢查。機(jī)器人程序解析由兩個部分構(gòu)成:詞法解析和語法解析。詞法解析是對程序文件中的內(nèi)容進(jìn)行分詞,識別有意義的最小元素;語法解析則是應(yīng)用詞法解析的結(jié)果,組合成有意義的語句,并將語句組合成語法樹。flex和bison是常用的兩種構(gòu)建解析器的工具,文獻(xiàn)[1]中講解了flex和bison的結(jié)合使用方式。

1? Kuka-Volvo機(jī)器人焊接程序

Kuka-Volvo是在Kuka機(jī)器人的基礎(chǔ)指令上開發(fā)出的適用于Volvo體系的機(jī)器人工藝包集合,文獻(xiàn)[2-5]中對擴(kuò)展部分的語法做了詳細(xì)的說明。一個完整的Kuka-Volvo機(jī)器人焊接程序模塊有兩個文件構(gòu)成:擴(kuò)展名為”.dat”的數(shù)據(jù)文件和擴(kuò)展名為”.src”的程序文件。

1.1 數(shù)據(jù)文件

數(shù)據(jù)文件存放變量的定義,包括空間位置、負(fù)載信息、信號地址等。數(shù)據(jù)的聲明均以”DECL”開始,之后是變量的類型和變量名稱,之后是變量的初始值。部分示例如下:

DECL LockSignType AllocateZone4={Number 27,Info[] "R1-1,R1-3 Weld and R4-2 Weld"}

1.2 程序文件

程序文件中定義機(jī)器人需要執(zhí)行的指令,包括運(yùn)動、設(shè)備交互、時間同步等。程序文件中會定義若干程序塊,其中一個為主程序塊,主程序塊調(diào)用文件中的其他塊,而主程序則會被其他模塊調(diào)用。

2? 解析器構(gòu)造

flex是一種詞法分析生成器,可以根據(jù)定義好的詞法匹配規(guī)則,生成相應(yīng)的詞法分析程序。flex的詞法規(guī)則定義由3個部分構(gòu)成,使用'%%'作為分隔標(biāo)識。第一部分由聲明及選項(xiàng)組成。第二部分則是詞法規(guī)則的定義部分。詞法匹配規(guī)則由正則表達(dá)式書寫,并在表達(dá)式后面對匹配到的元素進(jìn)行相應(yīng)的處理。第三部分是附加的C語言代碼,這些代碼會直接復(fù)制到生成的詞法分析程序中。

分詞階段需要根據(jù)不同的語法定義相應(yīng)的詞法規(guī)則,此處主要依據(jù)Kuka-Volvo的規(guī)范編寫詞法規(guī)則,區(qū)分關(guān)鍵詞、注釋、數(shù)值等。由于篇幅有限,此處只摘錄部分詞法規(guī)則。

"DEFDAT"? {return DEFDAT;}

"ENDDAT"? {return ENDDAT;}

"DECL"? {return DECL;}

它是一個語法解析器生成器,經(jīng)常與flex結(jié)合使用。同flex一樣,bison的文件也由3個部分構(gòu)成:包含聲明和選項(xiàng)的第一部分,語法規(guī)則定義的第二部分,以及附加C語言代碼的第三部分,各部分之間也以'%%'分隔。

一個程序文件和對應(yīng)的數(shù)據(jù)文件被解析為一個模塊,數(shù)據(jù)文件被解析為模塊中的數(shù)據(jù)塊,程序文件被解析為模塊中的指令塊,而文件的基礎(chǔ)名稱(不含擴(kuò)展名)作為整個模塊的名稱。

數(shù)據(jù)塊存放變量列表,變量列表中的每個變量由名稱、類型和值構(gòu)成;指令塊則存放機(jī)器人的指令段列表,指令段由指令序列構(gòu)成,而指令又包含名稱和參數(shù),參數(shù)可以是在數(shù)據(jù)塊中定義的變量。

bison的語法規(guī)則根據(jù)模塊的結(jié)構(gòu)編寫,從上至下,并采用遞歸的方式:

modular: blocklist{moduleAppendBlock(gCurrentModule,$1);}

blocklist:/*nothing*/{$$=NULL;}

|block{$$=$1;}

|blocklist block{$$=blockListAppend($1,$2);}

block: statementlist{gCurrentBlock=blockCreateFromStatements($1);

$$=gCurrentBlock; }

|datblock{gCurrentBlock=blockCreateFromDatBlock($1);

$$=gCurrentBlock;}

|srcProgram{gCurrentBlock=blockCreateFromProgram($1);

$$=gCurrentBlock;}

3? 錯誤檢查

錯誤檢查程序首先初始化內(nèi)置變量表和函數(shù)表,然后使用解析器解析數(shù)據(jù)文件,生成變量表,然后再解析指令文件,分析機(jī)器人操作。在解析指令文件的時候可以完成一部分程序完整性檢查,如引用未定義的變量等,最后遍歷模塊完整的語法樹,查找一些高級的錯誤,如干涉區(qū)定義不成對、信號定義但沒有使用等。

在所檢查的程序中發(fā)現(xiàn)了變量未定義的錯誤和廢棄的函數(shù)使用警告,達(dá)到了預(yù)期的目標(biāo)。對實(shí)驗(yàn)的8臺機(jī)器人的離線程序進(jìn)行檢測。

4? 結(jié)語

通過解析器的構(gòu)建和使用,可以檢測出機(jī)器人離線程序的語法格式、數(shù)據(jù)定義和數(shù)據(jù)使用等錯誤,有利于機(jī)器人程序錯誤的早期修正,從而保證輸出的機(jī)器人離線程序的質(zhì)量。語法樹的構(gòu)建,也可以作為統(tǒng)計(jì)分析的一個基礎(chǔ),對焊槍的使用、焊點(diǎn)的焊接及機(jī)器人干涉區(qū)進(jìn)行統(tǒng)計(jì),并進(jìn)行優(yōu)化,提高離線程序的質(zhì)量,因此,統(tǒng)計(jì)優(yōu)化是下一個研究方向。

參考文獻(xiàn)

[1] John R.Levine.Flex & Bison[M].Sebastopol:Oreilly,2009.

[2] KUKA Roboter GmbH.VCC Basic[Z].KUKA Roboter GmbH,2013.

[3] KUKA Roboter GmbH.VCC Handling[Z].KUKA Roboter GmbH,2013.

[4] KUKA Roboter GmbH.VCC Spot Weld[Z].KUKA Roboter GmbH,2013.

[5] KUKA Roboter GmbH.VCC ToolChange[Z].KUKA Roboter GmbH,2013.

[6] 左培良,鄧先智,王建平.工業(yè)機(jī)器人在自動化控制中的應(yīng)用研究[J].中國設(shè)備工程,2019(9):212-214.

猜你喜歡
焊接機(jī)器人
你好,機(jī)器人
CO2氣體保護(hù)焊在設(shè)備制造焊接中的應(yīng)用
帶壓堵漏技術(shù)在檢修中的應(yīng)用
高職焊接專業(yè)教學(xué)改革研究
鋁合金構(gòu)件焊接變形研究及焊接工藝優(yōu)化
機(jī)器人來幫你
認(rèn)識機(jī)器人
機(jī)器人來啦
永新县| 台湾省| 北碚区| 彰武县| 泽普县| 永登县| 金乡县| 营山县| 金坛市| 东莞市| 大姚县| 辽源市| 响水县| 周口市| 崇阳县| 德保县| 眉山市| 麻栗坡县| 银川市| 和政县| 西盟| 略阳县| 紫金县| 友谊县| 西宁市| 博白县| 宁波市| 泾川县| 靖江市| 蒲江县| 梨树县| 个旧市| 辽中县| 平远县| 三原县| 大石桥市| 柘城县| 甘肃省| 六枝特区| 景洪市| 大足县|