專利名稱:一種基于表格編程的開放式機(jī)器人控制方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,更具體的說,涉及的是一種基于表 格編程的開放式機(jī)器人控制方法及其系統(tǒng)的改進(jìn)。
背景技術(shù):
要控制傳統(tǒng)的工業(yè)機(jī)器人,過去主要以手持控制示教器為主,操作工 人采用該示教器對(duì)機(jī)器人進(jìn)行操作和編程。附圖1所示,包括工業(yè)機(jī)器人
101,和與其控制連接的工控設(shè)備201。傳統(tǒng)工業(yè)機(jī)器人的編程大都需要使 用專用的機(jī)器人控制語言,且操作人員還要根據(jù)待加工零部件的加工工藝 編寫機(jī)器人操作程序;然而,當(dāng)遇到待加工零件涉及空間曲線等復(fù)雜曲面 時(shí),就很難用專用的機(jī)器人語言編寫程序進(jìn)行描述,特別是在一個(gè)企業(yè)采 用不同廠家的機(jī)器人的情況下,該類加工問題就顯得尤為的突出。
而目前的開放式機(jī)器人控制系統(tǒng),又主要是利用了 PC機(jī)和運(yùn)動(dòng)控制卡 來代替?zhèn)鹘y(tǒng)機(jī)器人的示教器,這在一定程度上既擴(kuò)展了機(jī)器人的加工功能, 又通過多種類型的編程語言也降低了編程的復(fù)雜性;但是,在開放式機(jī)器 人的操作使用方面卻沒有得到顯著的改善,也沒有降低機(jī)器人的使用操作 方面的門榲。附圖2所示,包括工業(yè)機(jī)器人201,和與其控制連接的工控設(shè) 備202,以及與工控設(shè)備202信號(hào)連接的PC機(jī)203,而機(jī)器人操作的復(fù)雜 性必然會(huì)降低生產(chǎn)效率,相應(yīng)的也會(huì)在使用過程中間接增加生產(chǎn)的成本。
因此,現(xiàn)有技術(shù)尚有待改進(jìn)和發(fā)展
發(fā)明內(nèi)容
本發(fā)明的目的是,在于提供一種基于表格編程的開放式機(jī)器人控制方 法及其系統(tǒng),能夠簡(jiǎn)化開放式機(jī)器人的控制和編程,以及可提高開放式機(jī) 器人的操作使用性能。
本發(fā)明的技術(shù)方案如下
一種基于表格編程的開放式機(jī)器人控制方法,包括以下步驟
A、 在控制界面編制表格程序,描述所述機(jī)器人的運(yùn)動(dòng)姿態(tài),記錄所 述機(jī)器人的運(yùn)動(dòng)軌跡;
B、 轉(zhuǎn)換所述表格程序數(shù)據(jù),檢查所述機(jī)器人運(yùn)動(dòng)的過程,同時(shí)設(shè)置 所述機(jī)器人的運(yùn)動(dòng)參數(shù);
C、 根據(jù)所述表格程序數(shù)據(jù),由所述機(jī)器人讀取并執(zhí)行設(shè)定的運(yùn)動(dòng)動(dòng)
作所述的開放式機(jī)器人控制方法,其中,所述步驟A中編制表格程序的 過程為一示教編程的操作,包括在重復(fù)以下步驟后完成所述示教編程的操 作
All、手動(dòng)調(diào)整所述機(jī)器人各軸運(yùn)動(dòng)到預(yù)期位置,并記錄下此時(shí)的所 述機(jī)器人各關(guān)節(jié)運(yùn)動(dòng)角度;
A12、自動(dòng)計(jì)算該預(yù)期位置的直角空間坐標(biāo)值,并在關(guān)節(jié)坐標(biāo)系表格 內(nèi)的直角坐標(biāo)表格中記錄顯示;
A13、輸入軌跡標(biāo)記的起點(diǎn)或終點(diǎn),以及輸入控制的端口號(hào)和控制狀態(tài)。
所述的開放式機(jī)器人控制方法,其中,所述步驟A中編制表格程序的 過程為一關(guān)節(jié)坐標(biāo)編程的操作,包括在重復(fù)以下步驟后完成所述關(guān)節(jié)坐標(biāo) 編程的操作
A21、在關(guān)節(jié)坐標(biāo)系表格中的對(duì)應(yīng)位置填寫所i^i幾器人各個(gè)關(guān)節(jié)的絕 對(duì)運(yùn)動(dòng)角度;
A22、輸入軌跡標(biāo)記的起點(diǎn)或終點(diǎn),以及輸入控制的端口號(hào)和控制狀態(tài);
A23、自動(dòng)檢查所述機(jī)器人關(guān)節(jié)的軌跡安全性,以及自動(dòng)計(jì)算出所述 機(jī)器人的直角空間坐標(biāo)值。
所述的開放式機(jī)器人控制方法,其中,所述步驟A中編制表格程序的 過程為一直角坐標(biāo)編程的操作,包括在重復(fù)以下步驟后完成所述直角坐標(biāo) 編程的操作
A31、在世界坐標(biāo)系表格中的對(duì)應(yīng)位置填寫所述機(jī)器人的直角空間坐 標(biāo)以及末端姿態(tài)角度;
A32、當(dāng)運(yùn)動(dòng)軌跡為圓時(shí)輸入運(yùn)動(dòng)半徑,并i殳定輸入的直角空間坐標(biāo) 為圓心位置;
A33、 i殳置軌跡標(biāo)識(shí)種類,輸入軌跡標(biāo)記的起點(diǎn)或終點(diǎn),以及輸入控 制的端口號(hào)和控制狀態(tài);
A34、自動(dòng)檢查所述機(jī)器人的給定點(diǎn)的軌跡安全性。 所述的開放式機(jī)器人控制方法,其中,所述步驟B中轉(zhuǎn)換所述表格程 序數(shù)據(jù)的過程,為在直角坐標(biāo)程序和關(guān)節(jié)坐標(biāo)程序之間進(jìn)行相互轉(zhuǎn)換的操 作,包括如下的步驟
Bll、生成一新坐標(biāo)程序表格,并讀取原坐標(biāo)程序中的第一行數(shù)據(jù)代
碼;
B12、判斷所述機(jī)器人的運(yùn)動(dòng)軌跡是否安全,是則進(jìn)入步驟B13,否 則進(jìn)入步驟B15;
B13、轉(zhuǎn)換所述原坐標(biāo)程序的數(shù)據(jù)代碼,并寫進(jìn)所述的新坐標(biāo)程序;
B14、讀取所述原坐標(biāo)程序中的下一行數(shù)據(jù),轉(zhuǎn)入步驟B12,直至轉(zhuǎn) 換到所述原坐標(biāo)程序中最末一行的數(shù)據(jù)代碼,并在完成寫入所述的新坐標(biāo) 程序后進(jìn)入步驟B16;
B15、停止軌跡轉(zhuǎn)換,給出錯(cuò)誤的軌跡列表行提示,進(jìn)入步驟B17;
B16、以所述新坐標(biāo)程序顯示數(shù)據(jù),并結(jié)束轉(zhuǎn)換的操作;B17、根據(jù)錯(cuò)誤數(shù)據(jù)行的提示,在所述新坐標(biāo)程序中刪除錯(cuò)誤的軌跡 列表行數(shù)據(jù),并結(jié)束轉(zhuǎn)換的操作。
所述的開放式機(jī)器人控制方法,其中,所述步驟C中讀取并執(zhí)行設(shè)定 的運(yùn)動(dòng)動(dòng)作過程,采用一關(guān)節(jié)坐標(biāo)系表格的操作,設(shè)定運(yùn)動(dòng)參數(shù),并從所
述關(guān)節(jié)坐標(biāo)系表格的第一行數(shù)據(jù)開始,執(zhí)行以下步驟
Cll、讀取所述機(jī)器人的各個(gè)關(guān)節(jié)角度值、軌跡標(biāo)記、輸出端口號(hào)及 其輸出狀態(tài);
C12、根據(jù)所述關(guān)節(jié)角度值和軌跡標(biāo)記進(jìn)行6軸的插補(bǔ)運(yùn)動(dòng); C13、按照所述輸出端口號(hào)及其輸出狀態(tài),控制相應(yīng)端口的動(dòng)作; C14、讀取所述關(guān)節(jié)坐標(biāo)系表格的下一行數(shù)據(jù),并重復(fù)上述步驟,直
至讀取到最后一行的數(shù)據(jù)并執(zhí)行完上述的操作。
所述的開放式機(jī)器人控制方法,其中,所述步驟C讀取并執(zhí)行設(shè)定的
運(yùn)動(dòng)動(dòng)作過程,采用一世界坐標(biāo)系表格的編譯方式操作,包括如下步驟 C21、設(shè)定運(yùn)動(dòng)參數(shù);
C22、將世界坐標(biāo)編譯成所述機(jī)器人關(guān)節(jié)坐標(biāo)的運(yùn)動(dòng)軌跡,并在一關(guān) 節(jié)坐標(biāo)系表格中記錄顯示;
C23、按照所述關(guān)節(jié)坐標(biāo)系表格中的動(dòng)作次序,由所述機(jī)器人執(zhí)行對(duì) 應(yīng)的運(yùn)動(dòng)動(dòng)作。
所述的開放式機(jī)器人控制方法,其中,所述步驟C讀取并執(zhí)行設(shè)定的 運(yùn)動(dòng)動(dòng)作過程,采用一世界坐標(biāo)系表格的翻譯方式操作,設(shè)定運(yùn)動(dòng)參數(shù), 并從所述世界坐標(biāo)系表格的第一行數(shù)據(jù)開始,執(zhí)行以下步驟
C31、讀取空間直角坐標(biāo)值、歐拉角、軌跡標(biāo)識(shí)、軌跡標(biāo)記、輸出
端口號(hào)及其輸出狀態(tài);
C32、將所述空間直角坐標(biāo)翻譯成關(guān)節(jié)坐標(biāo),并根據(jù)所述歐拉角和 軌跡標(biāo)i己進(jìn)4亍6軸的插補(bǔ)運(yùn)動(dòng);
C33、按照所述輸出端口號(hào)及其輸出狀態(tài),控制相應(yīng)端口的動(dòng)作;C34、讀取所述世界坐標(biāo)系表格的下一行數(shù)據(jù),重復(fù)上述步驟,直 至讀取到最后一行的數(shù)據(jù)并執(zhí)行完上述的操作。
一種基于表格編程的開放式機(jī)器人控制系統(tǒng),包括一機(jī)器人、 一工控 設(shè)備和一通用計(jì)算機(jī),所述通用計(jì)算機(jī)信號(hào)連接所述工控設(shè)備,所述工控 設(shè)備控制連接所述機(jī)器人;其中,在所述通用計(jì)算機(jī)的控制界面中設(shè)置有 表格程序,用于描述所獲機(jī)器人的運(yùn)動(dòng)姿態(tài)并記錄其運(yùn)動(dòng)軌跡;在所述工 控設(shè)備的控制下,通過轉(zhuǎn)換所述表格程序的數(shù)據(jù)檢查所述機(jī)器人的運(yùn)動(dòng)過 程;以及所述機(jī)器人用于讀取所述表格程序數(shù)據(jù),執(zhí)行設(shè)定的運(yùn)動(dòng)動(dòng)作。
所述的開放式機(jī)器人控制系統(tǒng),其中,所述的表格程序包括一關(guān)節(jié)坐 標(biāo)系表格和一世界坐標(biāo)系表格;且所述關(guān)節(jié)坐標(biāo)系表格和世界坐標(biāo)系表格 在各自表格中的指定行位置上,設(shè)置有所述機(jī)器人各輸入\輸出點(diǎn)的動(dòng)作數(shù) 據(jù),其中
所述的關(guān)節(jié)坐標(biāo)系表格包括,所述機(jī)器人的X、 Y、 Z的末端空間直 角坐標(biāo),以及包括所述機(jī)器人關(guān)節(jié)的X角度、Y角度、Z角度、A角度、B 角度和C角度的絕對(duì)運(yùn)動(dòng)角度;
所述的世界坐標(biāo)系表格包括,所述機(jī)器人的X、 Y、 Z的空間直角坐 標(biāo),以及包括所述機(jī)器人的歐拉角Z、歐拉角Y和歐拉角Zn的末端姿態(tài)角 度。
本發(fā)明所提供的一種基于表格編程的開放式機(jī)器人控制方法及其系 統(tǒng),由于采用了表格程序的手段,并通過表格程序的數(shù)據(jù)轉(zhuǎn)換功能,完成 對(duì)機(jī)器人運(yùn)動(dòng)軌跡的檢查;同時(shí)在編程中加入了運(yùn)動(dòng)參數(shù),在基于表格編 程的基礎(chǔ)上實(shí)現(xiàn)了開放式機(jī)器人的操作控制;以及通過在表格中填寫數(shù)據(jù) 的編程模式,替代了復(fù)雜費(fèi)時(shí)的專用機(jī)器人語言編程過程,直接簡(jiǎn)化了開 放式機(jī)器人的控制和編程,顯著提高了開放式機(jī)器人的操作使用性能。
圖1為現(xiàn)有技術(shù)中傳統(tǒng)機(jī)器人的示意圖2為現(xiàn)有技術(shù)中開放式機(jī)器人的示意圖3為本發(fā)明中關(guān)節(jié)坐標(biāo)系表格的界面示意圖4為本發(fā)明中世界坐標(biāo)系表格的界面示意圖5為本發(fā)明中示教編程操作步驟的流程示意圖6為本發(fā)明中直角坐標(biāo)程序向關(guān)節(jié)坐標(biāo)程序轉(zhuǎn)換的流程示意圖;
圖7為本發(fā)明中關(guān)節(jié)坐標(biāo)程序向直角坐標(biāo)程序轉(zhuǎn)換的流程示意圖;
圖8為本發(fā)明中運(yùn)動(dòng)參數(shù)的界面示意圖。
具體實(shí)施例方式
以下將結(jié)合附圖,對(duì)本發(fā)明的具體實(shí)施方式
和實(shí)施例加以詳細(xì)說明。 本發(fā)明的一種基于表格編程的開放式機(jī)器人控制方法及其系統(tǒng),主要 核心點(diǎn)在于,通過在表格中填寫數(shù)據(jù)的編程模式,替代了復(fù)雜費(fèi)時(shí)的專用 機(jī)器人語言編程過程,大大簡(jiǎn)化了機(jī)器人的控制和編程,并提高了機(jī)器人 的操作使用性能;至于示教器、開放式機(jī)器人、工控設(shè)備、歐拉角、關(guān)節(jié)、 軌跡等技術(shù)為本領(lǐng)域技術(shù)人員所熟知,在此不再贅迷。
本發(fā)明的一種基于表格編程的開放式機(jī)器人控制方法,采用的是開放 式控制系統(tǒng),通過VC6.0開發(fā)語言編寫機(jī)器人的控制系統(tǒng)和控制界面,而 作為本發(fā)明的一種基于表格編程的開放式機(jī)器人控制系統(tǒng),其中一種具體 的實(shí)施方式,包括一機(jī)器人、 一工控設(shè)備和一通用計(jì)算機(jī),所述通用計(jì)算 機(jī)信號(hào)連接所迷工控設(shè)備,所述工控設(shè)備控制連接所述機(jī)器人;其特征在 于,在所述通用計(jì)算機(jī)的控制界面中設(shè)置有表格程序,用于描述所獲機(jī)器 人的運(yùn)動(dòng)姿態(tài)并記錄其運(yùn)動(dòng)軌跡;在所述工控設(shè)備的控制下,通過轉(zhuǎn)換所 述表格程序的數(shù)據(jù)檢查所述機(jī)器人的運(yùn)動(dòng)過程;以及所述機(jī)器人用于讀取 所述表格程序數(shù)據(jù),執(zhí)行設(shè)定的運(yùn)動(dòng)動(dòng)作。所述的表格程序包括一關(guān)節(jié)坐 標(biāo)系表格和一世界坐標(biāo)系表格;且所述關(guān)節(jié)坐標(biāo)系表格和世界坐標(biāo)系表格在各自表格中的指定行位置上,設(shè)置有所述機(jī)器人各輸入\輸出點(diǎn)的動(dòng)作數(shù)
據(jù),其中
所述的關(guān)節(jié)坐標(biāo)系表格,如附圖3所示,包括所述機(jī)器人末端空間位 置的X、 Y、 Z的直角坐標(biāo)表格,還包括所述機(jī)器人6個(gè)關(guān)節(jié)的X角度、Y 角度、Z角度、A角度、B角度和C角度的絕對(duì)運(yùn)動(dòng)角度,以及包括內(nèi)容 可自定義的軌跡標(biāo)記,用于記錄當(dāng)前軌跡的狀態(tài),和用于記錄控制端口號(hào) 的輸出端口,和用于記錄對(duì)應(yīng)輸出端口動(dòng)作的輸出狀態(tài)記錄。
所述的世界坐標(biāo)系表格,如附圖4所示,包括所述機(jī)器人末端空間位 置的X、 Y、 Z的直角坐標(biāo)表格,還包括所述機(jī)器人的歐拉角Z、歐拉角Y 和歐拉角Zn的末端姿態(tài)角度;以及包括機(jī)器人曲線運(yùn)動(dòng)的軌跡半徑,和內(nèi) 容可自定義的軌跡標(biāo)識(shí),用于標(biāo)識(shí)曲線的類型,如圓、圓弧或樣條曲線等, 和用于記錄控制端口號(hào)的輸出端口 ,和用于記錄對(duì)應(yīng)輸出端口動(dòng)作的輸出 狀態(tài)記錄。
而本發(fā)明的一種基于表格編程的開放式機(jī)器人控制方法,總體上依次 包括以下三大部分
第一步、在控制界面編制表格程序,描述所述機(jī)器人的運(yùn)動(dòng)姿態(tài),記 錄所述機(jī)器人的運(yùn)動(dòng)軌跡;
第二步、轉(zhuǎn)換所述表格程序數(shù)據(jù),檢查所述機(jī)器人運(yùn)動(dòng)的過程,同時(shí)
設(shè)置所述機(jī)器人的運(yùn)動(dòng)參數(shù);
第三步、根據(jù)所述表格程序數(shù)據(jù),由所述機(jī)器人讀取并執(zhí)行設(shè)定的運(yùn)
動(dòng)動(dòng)作。
首先,針對(duì)第一步中的在控制界面編制表格程序,在具體實(shí)施的過程 中,又可細(xì)分以下三種編程方式 1、示教編程
如附圖5所示,在所述關(guān)節(jié)坐標(biāo)系的表格中,采用以下步驟 (對(duì)于鼠標(biāo))步驟S501a、按下鼠標(biāo);(對(duì)于鍵盤)步驟S501b、按下鍵盤快捷鍵; (對(duì)于鼠標(biāo))步驟S502a、鼠標(biāo)響應(yīng)代碼段; (對(duì)于鍵盤)步驟S502b、鍵盤快捷鍵響應(yīng)代碼段; 步驟S503、單軸運(yùn)動(dòng)響應(yīng)代碼段;
(對(duì)于鼠標(biāo))步驟S504、判斷是否到達(dá)指定位置,是則ii^步驟S505, 否則轉(zhuǎn)入步驟S504a;
(對(duì)于鍵盤快捷鍵)步驟S504、判斷是否到達(dá)指定位置,是則進(jìn)入步 驟S505,否則轉(zhuǎn)入步驟S504b;
步驟S505、進(jìn)一步判斷是否執(zhí)行記錄功能,是則進(jìn)入步驟S506,否則 轉(zhuǎn)入步驟S507;
步驟S506、運(yùn)行關(guān)節(jié)位置,記錄此時(shí)各關(guān)節(jié)運(yùn)動(dòng)角度的代碼段; 之后,自動(dòng)計(jì)算該預(yù)期位置的直角空間坐標(biāo)值,并在關(guān)節(jié)坐標(biāo)系表格
內(nèi)的直角坐標(biāo)表格中記錄顯示;
步驟S507、判斷是否設(shè)定運(yùn)動(dòng)標(biāo)記,是則進(jìn)入步驟S508,否則轉(zhuǎn)入步
驟S509;
步驟S508、輸入運(yùn)動(dòng)時(shí)的軌跡標(biāo)記,起點(diǎn)時(shí)輸入'T',終點(diǎn)時(shí)輸入"2", 中間點(diǎn)不用輸入;
步驟S509、判斷是否設(shè)定I/0動(dòng)作,是則進(jìn)入步驟S510,否則結(jié)束輸 入操作;
步驟S510、設(shè)定I/0端口動(dòng)作,即輸入需要控制的端口號(hào),以及輸入 控制端口狀態(tài),開啟為"1",關(guān)閉為"0",并結(jié)束輸入操作; 之后,重復(fù)上述操作步驟,即可完成零部件的加工工藝。 2、關(guān)節(jié)坐標(biāo)編程
在確定各關(guān)節(jié)的運(yùn)動(dòng)軌跡時(shí),具體可采用以下編程步驟
1) 在關(guān)節(jié)坐標(biāo)系表格中的對(duì)應(yīng)位置填寫各個(gè)關(guān)節(jié)的絕對(duì)運(yùn)動(dòng)角度;
2) 軌跡標(biāo)記輸入起點(diǎn)時(shí)輸入"1",終點(diǎn)時(shí)輸入"2",中間點(diǎn)不用輸入;
3) 輸入需要控制的端口號(hào);
4) 輸入控制端口狀態(tài),開啟為"1",關(guān)閉為"0";
5) 關(guān)節(jié)軌跡安全性自動(dòng)檢查;
6) 自動(dòng)算出機(jī)器人的直角空間坐標(biāo);
7) 重復(fù)上述動(dòng)作,即完成機(jī)器人的編程。 3、直角坐標(biāo)編程
切換至"世界坐標(biāo)系"狀態(tài),采用以下編程步驟
(1) 輸入X、 Y、 Z直角空間坐標(biāo);
(2) 輸入末端姿態(tài)角度;
(3) 當(dāng)為軌跡為圓時(shí)需輸入運(yùn)動(dòng)半徑,XYZ坐標(biāo)為圓心位置;
(4) "軌跡標(biāo)識(shí)"設(shè)置可以標(biāo)識(shí)"圓,,,"圓弧","樣條曲線"等;
(5) 軌跡標(biāo)記輸入起點(diǎn)時(shí)輸入"1",終點(diǎn)時(shí)輸入"2",中間點(diǎn)不用
輸入;
(6) 輸入需要控制的端口號(hào);
(7) 輸入控制端口狀態(tài),開啟為T,關(guān)閉為"0,,;
(8) 給定點(diǎn)軌跡安全性自動(dòng)檢查;
(9) 重復(fù)上述操作,即可完成加工工藝編程。
其次,針對(duì)第二步中轉(zhuǎn)換所述表格程序數(shù)據(jù)的過程,具體包括直角坐 標(biāo)向關(guān)節(jié)坐標(biāo)轉(zhuǎn)換的過程,如附圖6所示;以及關(guān)節(jié)坐標(biāo)向直角坐標(biāo)轉(zhuǎn)換 的過程,如附圖7所示;實(shí)際上,直角坐標(biāo)和關(guān)節(jié)坐標(biāo)是機(jī)器人軌跡的兩 種不同表述形式,直角坐標(biāo)和位姿表示的機(jī)器人狀態(tài)直觀,便于軌跡檢查, 而關(guān)節(jié)坐標(biāo)可確定機(jī)器人各軸的運(yùn)行角度,兩組表格的數(shù)據(jù)相互轉(zhuǎn)換,便 于工藝的檢查和機(jī)器人各軸狀態(tài)的判斷。
如附圖6和7所示,其表格程序數(shù)據(jù)轉(zhuǎn)換的具體步驟包括 步驟S601(或S701)、定義原坐標(biāo)程序向新坐標(biāo)程序轉(zhuǎn)換;步驟S602(或S702)、生成新坐標(biāo)程序表格;
步驟S603(或S703)、讀取原坐標(biāo)程序的行數(shù)據(jù),如第一行數(shù)據(jù)代碼;
步驟S604(或S704)、讀取4幾器人的運(yùn)動(dòng)軌跡安全判斷代碼;
步驟S605(或S705)、及判斷所述機(jī)器人的運(yùn)動(dòng)軌跡是否安全,是則進(jìn)
入步驟S606(或S706),否則轉(zhuǎn)入步驟S610(或S710);
步驟S606(或S706)、由原坐標(biāo)程序相新坐標(biāo)程序轉(zhuǎn)換數(shù)據(jù)代碼;
步驟S607(或S707)、將轉(zhuǎn)換結(jié)果或軌跡寫入新坐標(biāo)程序;
步驟S608(或S708)、判斷程序數(shù)據(jù)轉(zhuǎn)換是否結(jié)束,是則進(jìn)入步驟
S612(或S712),否則轉(zhuǎn)入步驟S608(或S708);
步驟S608(或S708)、將原坐標(biāo)程序中的當(dāng)前行數(shù)加1 ,進(jìn)入步驟S603(或
S703),直至轉(zhuǎn)換到所述原坐標(biāo)程序中最后一行的數(shù)據(jù)代碼;
步驟S610(或S710)、停止軌跡轉(zhuǎn)換,給出錯(cuò)誤的軌跡列表行提示; 步驟S611(或S711)、根據(jù)錯(cuò)誤數(shù)據(jù)行的提示,在所述新坐標(biāo)程序中刪
除錯(cuò)誤的軌跡列表行數(shù)據(jù),并結(jié)束轉(zhuǎn)換的操作;
步驟S612(或S712)、以所述新坐標(biāo)程序顯示數(shù)據(jù),并結(jié)束轉(zhuǎn)換的操作。 在附圖6中,簡(jiǎn)言之,是將世界坐標(biāo)系中的直角坐標(biāo)轉(zhuǎn)換為關(guān)節(jié)坐標(biāo);
當(dāng)給定的世界坐標(biāo)系中的直角坐標(biāo)超過機(jī)械手運(yùn)動(dòng)范圍后,自動(dòng)停止軌跡
轉(zhuǎn)換,并給出錯(cuò)誤軌跡列表行提示。生成的數(shù)據(jù)自動(dòng)寫入新生成的關(guān)節(jié)坐
標(biāo)表格中。
在附圖7中,簡(jiǎn)言之,是將關(guān)節(jié)坐標(biāo)轉(zhuǎn)換為直角坐標(biāo),以便于工藝審 核。生成的數(shù)據(jù)自動(dòng)寫入新生成的直角坐標(biāo)表格中,當(dāng)出現(xiàn)軌跡錯(cuò)誤時(shí), 自動(dòng)提示關(guān)節(jié)坐標(biāo)中的出錯(cuò)的數(shù)據(jù)行。
另外,在完成表格編程后,還要在運(yùn)動(dòng)參數(shù)表中設(shè)置運(yùn)動(dòng)參數(shù)如附 圖8所示,包括回起點(diǎn)的方式參數(shù)區(qū)域810、有限次運(yùn)行參數(shù)區(qū)域820和 830,具體可設(shè)置的參數(shù)包括單次循環(huán)延遲時(shí)間、回起點(diǎn)方式、運(yùn)行次數(shù)、 結(jié)束后動(dòng)作、手爪延時(shí)等。最后,針對(duì)第三步,所述機(jī)器人讀取表格程序數(shù)據(jù)并執(zhí)行設(shè)定的運(yùn)動(dòng)
動(dòng)作,程序的執(zhí)行因表格的不同,包括三種方式
1、 關(guān)節(jié)坐標(biāo)系表格方式
所述機(jī)器人從第一行的數(shù)據(jù)開始,設(shè)定運(yùn)動(dòng)參數(shù),并采用逐行執(zhí)行的 方式
1) 讀取各個(gè)關(guān)節(jié)角度值、軌跡標(biāo)記、輸出端口號(hào)、輸出狀態(tài);
2) 根據(jù)軌跡標(biāo)記和關(guān)節(jié)角度進(jìn)行6軸插補(bǔ)運(yùn)動(dòng);
3) 才艮據(jù)輸出端口號(hào)、輸出狀態(tài)控制相關(guān)端口動(dòng)作;
4) 讀取下一行數(shù)據(jù),重復(fù)上述操作。
2、 世界坐標(biāo)系表格的編譯方式
設(shè)定運(yùn)動(dòng)參數(shù),程序根據(jù)空間直角坐標(biāo)值XYZ和歐拉角ZYZn,將世 界坐標(biāo)編譯成關(guān)節(jié)坐標(biāo)的運(yùn)動(dòng)軌跡,然后按上述關(guān)節(jié)表格中的動(dòng)作次序來 進(jìn)行相關(guān)動(dòng)作。
3、 世界坐標(biāo)系表格的翻譯方式
所述機(jī)器人從第一行的數(shù)據(jù)開始,設(shè)定運(yùn)動(dòng)參數(shù),并采用逐行執(zhí)行的 方式
(1 )讀取空間直角坐標(biāo)值XYZ、歐拉角ZYZn、軌跡標(biāo)識(shí)、軌跡標(biāo)記、 輸出端口號(hào)、輸出狀態(tài);
(2)將直角坐標(biāo)翻譯成關(guān)節(jié)坐標(biāo);
(3 )根據(jù)軌跡標(biāo)記和關(guān)節(jié)角度進(jìn)行6軸插補(bǔ)運(yùn)動(dòng);
(4) 才艮據(jù)輸出端口號(hào)、輸出狀態(tài)控制相關(guān)端口動(dòng)作;
(5) 讀取下一行數(shù)據(jù),重復(fù)上述操作。
總之,在關(guān)節(jié)坐標(biāo)系表格中填寫機(jī)器人關(guān)節(jié)數(shù)據(jù),機(jī)器人根據(jù)表格中 的數(shù)據(jù),逐次運(yùn)行各行數(shù)據(jù)。在直角空間坐標(biāo)系表格中填寫機(jī)器人末端坐 標(biāo)和姿態(tài),機(jī)器人運(yùn)行時(shí)自動(dòng)生成各關(guān)節(jié)的運(yùn)動(dòng)角度。兩種表格均可在指 定行位置設(shè)定各I/0點(diǎn)動(dòng)作。選定一行輸入數(shù)據(jù)后,可控制機(jī)器人自動(dòng)運(yùn)動(dòng)到選定行,以驗(yàn)證關(guān)節(jié)坐標(biāo)輸入的正確性。同時(shí),對(duì)機(jī)器人進(jìn)行示教,將 得到的關(guān)節(jié)數(shù)據(jù)記錄到關(guān)節(jié)軌跡記錄表中,操作員對(duì)表格中的機(jī)器人各關(guān) 節(jié)數(shù)據(jù)進(jìn)行修改,以得到理想的程序。
由此可見,采用表格操作不需要使用專門的編程語言,直接在表格中 填寫數(shù)字即可完成機(jī)器人編程,可以降低機(jī)器人操作和編程的復(fù)雜性,縮 短機(jī)器人編程時(shí)間,降低機(jī)器人使用的技術(shù)門檻。關(guān)節(jié)坐標(biāo)系表格示教,
實(shí)時(shí)顯示示教關(guān)節(jié)軌跡點(diǎn),可同步修正;釆用直觀和通用的表格化編程, 直接進(jìn)行數(shù)字表格的填寫,簡(jiǎn)單直觀;機(jī)器人的運(yùn)動(dòng)由運(yùn)動(dòng)參數(shù)自由設(shè)定; 關(guān)節(jié)示教,直角坐標(biāo)編程,關(guān)節(jié)坐標(biāo)編程,三種編程方式根據(jù)需要可以組 合^f吏用增加了編程的靈活性。
以上優(yōu)選實(shí)施例中,基于表格編程的開放式機(jī)器人的控制和操作的技 術(shù)根據(jù)實(shí)際應(yīng)用可以采用現(xiàn)有各種可能的方案,為本領(lǐng)域技術(shù)人員所熟知, 在此也不再贅述。
本發(fā)明的具體實(shí)施方式
所描述的一種基于表格編程的開放式機(jī)器人控 制方法及其系統(tǒng),由于采用了表格程序的手段,并通過表格程序的數(shù)據(jù)轉(zhuǎn) 換功能,完成對(duì)機(jī)器人運(yùn)動(dòng)軌跡的檢查;同時(shí)在編程中加入了運(yùn)動(dòng)參數(shù), 在基于表格編程的基礎(chǔ)上實(shí)現(xiàn)了開放式機(jī)器人的操作控制;以及通過在表 格中填寫數(shù)據(jù)的編程模式,替代了復(fù)雜費(fèi)時(shí)的專用機(jī)器人語言編程過程, 直接簡(jiǎn)化了開放式機(jī)器人的控制和編程,顯箸提高了開放式機(jī)器人的操作 使用性能。
應(yīng)當(dāng)理解的是,對(duì)本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以 改進(jìn)或變換,例如根據(jù)環(huán)境增減世界坐標(biāo)系或關(guān)節(jié)坐標(biāo)系中的任意要素, 以及變相在一些復(fù)雜的機(jī)電控制裝置上實(shí)施等,而所有這些改進(jìn)和變換都 本應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1、一種基于表格編程的開放式機(jī)器人控制方法,包括以下步驟A、在控制界面編制表格程序,描述所述機(jī)器人的運(yùn)動(dòng)姿態(tài),記錄所述機(jī)器人的運(yùn)動(dòng)軌跡;B、轉(zhuǎn)換所述表格程序數(shù)據(jù),檢查所述機(jī)器人運(yùn)動(dòng)的過程,同時(shí)設(shè)置所述機(jī)器人的運(yùn)動(dòng)參數(shù);C、根據(jù)所述表格程序數(shù)據(jù),由所述機(jī)器人讀取并執(zhí)行設(shè)定的運(yùn)動(dòng)動(dòng)作。
2、 根據(jù)權(quán)利要求l所述的開放式機(jī)器人控制方法,其特征在于,所述 步驟A中編制表格程序的過程為一示教編程的操作,包括在重復(fù)以下步驟 后完成所述示教編程的操作All、手動(dòng)調(diào)整所述機(jī)器人各軸運(yùn)動(dòng)到預(yù)期位置,并記錄下此時(shí)的所 述機(jī)器人各關(guān)節(jié)運(yùn)動(dòng)角度;A12、自動(dòng)計(jì)算該預(yù)期位置的直角空間坐標(biāo)值,并在關(guān)節(jié)坐標(biāo)系表格 內(nèi)的直角坐標(biāo)表格中記錄顯示;A13、輸入軌跡標(biāo)記的起點(diǎn)或終點(diǎn),以及輸入控制的端口號(hào)和控制狀態(tài)。
3、 根據(jù)權(quán)利要求1所述的開放式機(jī)器人控制方法,其特征在于,所述 步驟A中編制表格程序的過程為一關(guān)節(jié)坐標(biāo)編程的操作,包括在重復(fù)以下 步驟后完成所述關(guān)節(jié)坐標(biāo)編程的操作A21、在關(guān)節(jié)坐標(biāo)系表格中的對(duì)應(yīng)位置填寫所述機(jī)器人各個(gè)關(guān)節(jié)的絕 對(duì)運(yùn)動(dòng)角度;A22、輸入軌跡標(biāo)記的起點(diǎn)或終點(diǎn),以及輸入控制的端口號(hào)和控制狀態(tài);A23、自動(dòng)檢查所述機(jī)器人關(guān)節(jié)的軌跡安全性,以及自動(dòng)計(jì)算出所述 機(jī)器人的直角空間坐標(biāo)值。
4、 根據(jù)權(quán)利要求1所述的開放式機(jī)器人控制方法,其特征在于,所述 步驟A中編制表格程序的過程為一直角坐標(biāo)編程的操作,包括在重復(fù)以下 步驟后完成所述直角坐標(biāo)編程的操作A31、在世界坐標(biāo)系表格中的對(duì)應(yīng)位置填寫所述機(jī)器人的直角空間坐 標(biāo)以及末端姿態(tài)角度;A32、當(dāng)運(yùn)動(dòng)軌跡為圓時(shí)輸入運(yùn)動(dòng)半徑,并設(shè)定輸入的直角空間坐標(biāo) 為圓心位置;A33、設(shè)置軌跡標(biāo)識(shí)種類,輸入軌跡標(biāo)記的起點(diǎn)或終點(diǎn),以及輸入控 制的端口號(hào)和控制狀態(tài);A34、自動(dòng)檢查所述機(jī)器人的給定點(diǎn)的軌跡安全性。
5、 根據(jù)權(quán)利要求1所述的開放式機(jī)器人控制方法,其特征在于,所述 步驟B中轉(zhuǎn)換所述表格程序數(shù)據(jù)的過程,為在直角坐標(biāo)程序和關(guān)節(jié)坐標(biāo)程 序之間進(jìn)行相互轉(zhuǎn)換的操作,包括如下的步驟Bll、生成一新坐標(biāo)程序表格,并讀取原坐標(biāo)程序中的第一行數(shù)據(jù)代碼;B12、判斷所述機(jī)器人的運(yùn)動(dòng)軌跡是否安全,是則進(jìn)入步驟B13,否 則進(jìn)入步驟B15;B13、轉(zhuǎn)換所述原坐標(biāo)程序的數(shù)據(jù)代碼,并寫進(jìn)所述的新坐標(biāo)程序; B14、讀取所述原坐標(biāo)程序中的下一行數(shù)據(jù),轉(zhuǎn)入步驟B12,直至轉(zhuǎn)換到所述原坐標(biāo)程序中最末一行的數(shù)據(jù)代碼,并在完成寫入所述的新坐標(biāo)程序后進(jìn)入步驟B16;B15、停止軌跡轉(zhuǎn)換,給出錯(cuò)誤的軌跡列表行提示,進(jìn)入步驟B17;B16、以所述新坐標(biāo)程序顯示數(shù)據(jù),并結(jié)束轉(zhuǎn)換的操作; B17、根據(jù)錯(cuò)誤數(shù)據(jù)行的提示,在所述新坐標(biāo)程序中刪除錯(cuò)誤的軌跡 列表行數(shù)據(jù),并結(jié)束轉(zhuǎn)換的操作。
6、 根據(jù)權(quán)利要求1所述的開放式機(jī)器人控制方法,其特征在于,所述 步驟C中讀取并執(zhí)行設(shè)定的運(yùn)動(dòng)動(dòng)作過程,采用一關(guān)節(jié)坐標(biāo)系表格的操作, 設(shè)定運(yùn)動(dòng)參數(shù),并從所述關(guān)節(jié)坐標(biāo)系表格的第一行數(shù)據(jù)開始,執(zhí)行以下步 驟Cll、讀取所述機(jī)器人的各個(gè)關(guān)節(jié)角度值、軌跡標(biāo)記、輸出端口號(hào)及 其輸出狀態(tài);C12、根據(jù)所述關(guān)節(jié)角度值和軌跡標(biāo)記進(jìn)行6軸的插補(bǔ)運(yùn)動(dòng); C13、按照所述輸出端口號(hào)及其輸出狀態(tài),控制相應(yīng)端口的動(dòng)作; C14、讀取所述關(guān)節(jié)坐標(biāo)系表格的下一行數(shù)據(jù),并重復(fù)上述步驟,直 至讀取到最后一行的數(shù)據(jù)并執(zhí)行完上述的操作。
7、 根據(jù)權(quán)利要求l所述的開放式機(jī)器人控制方法,其特征在于,所述 步驟C讀取并執(zhí)行設(shè)定的運(yùn)動(dòng)動(dòng)作過程,采用一世界坐標(biāo)系表格的編譯方 式操作,包括如下步驟C21、設(shè)定運(yùn)動(dòng)參數(shù);C22、將世界坐標(biāo)編譯成所述機(jī)器人關(guān)節(jié)坐標(biāo)的運(yùn)動(dòng)軌跡,并在一關(guān) 節(jié)坐標(biāo)系表格中記錄顯示;C23、按照所述關(guān)節(jié)坐標(biāo)系表格中的動(dòng)作次序,由所述機(jī)器人執(zhí)行對(duì) 應(yīng)的運(yùn)動(dòng)動(dòng)作。
8、 根據(jù)權(quán)利要求1所述的開放式機(jī)器人控制方法,其特征在于,所述 步驟C讀取并執(zhí)行設(shè)定的運(yùn)動(dòng)動(dòng)作過程,采用一世界坐標(biāo)系表格的翻譯方 式操作,設(shè)定運(yùn)動(dòng)參數(shù),并從所述世界坐標(biāo)系表格的第一行數(shù)據(jù)開始,執(zhí)行以下步驟C31、讀取空間直角坐標(biāo)值、歐拉角、軌跡標(biāo)識(shí)、軌跡標(biāo)記、輸出 端口號(hào)及其輸出狀態(tài);C32、將所述空間直角坐標(biāo)翻譯成關(guān)節(jié)坐標(biāo),并根據(jù)所述歐拉角和 軌跡才示i己進(jìn)4亍6軸的4翁才卜運(yùn)動(dòng);C33、按照所述輸出端口號(hào)及其輸出狀態(tài),控制相應(yīng)端口的動(dòng)作;C34、讀取所述世界坐標(biāo)系表格的下一行數(shù)據(jù),重復(fù)上述步驟,直 至讀取到最后一行的數(shù)據(jù)并執(zhí)行完上述的操作。
9、 一種基于表格編程的開放式機(jī)器人控制系統(tǒng),包括一機(jī)器人、 一工 控設(shè)備和一通用計(jì)算機(jī),所述通用計(jì)算機(jī)信號(hào)連接所述工控設(shè)備,所述工 控設(shè)備控制連接所述機(jī)器人;其特征在于,在所述通用計(jì)算機(jī)的控制界面 中設(shè)置有表格程序,用于描述所獲機(jī)器人的運(yùn)動(dòng)姿態(tài)并記錄其運(yùn)動(dòng)軌跡; 在所述工控設(shè)備的控制下,通過轉(zhuǎn)換所述表格程序的數(shù)據(jù)檢查所述機(jī)器人 的運(yùn)動(dòng)過程;以及所述機(jī)器人用于讀取所述表格程序數(shù)據(jù),執(zhí)行設(shè)定的運(yùn) 動(dòng)動(dòng)作。
10、 根據(jù)權(quán)利要求9所述的開放式機(jī)器人控制系統(tǒng),其特征在于,所 述的表格程序包括一關(guān)節(jié)坐標(biāo)系表格和一世界坐標(biāo)系表格;且所述關(guān)節(jié)坐 標(biāo)系表格和世界坐標(biāo)系表格在各自表格中的指定行位置上,設(shè)置有所述機(jī) 器人各輸入\輸出點(diǎn)的動(dòng)作數(shù)據(jù),其中所述的關(guān)節(jié)坐標(biāo)系表格包括,所述機(jī)器人的X、 Y、 Z的末端空間直 角坐標(biāo),以及包括所述機(jī)器人關(guān)節(jié)的X角度、Y角度、Z角度、A角度、B 角度和C角度的絕對(duì)運(yùn)動(dòng)角度;所述的世界坐標(biāo)系表格包括,所述機(jī)器人的X、 Y、 Z的空間直角坐 標(biāo),以及包括所述機(jī)器人的歐拉角Z、歐拉角Y和歐拉角Zn的末端姿態(tài)角 度。
全文摘要
本發(fā)明公開了一種基于表格編程的開放式機(jī)器人控制方法及其系統(tǒng),其方法包括以下步驟在控制界面編制表格程序,描述機(jī)器人的運(yùn)動(dòng)姿態(tài),并記錄機(jī)器人的運(yùn)動(dòng)軌跡;轉(zhuǎn)換表格程序數(shù)據(jù),檢查機(jī)器人運(yùn)動(dòng)的過程,同時(shí)設(shè)置機(jī)器人的運(yùn)動(dòng)參數(shù);根據(jù)表格程序數(shù)據(jù),由機(jī)器人讀取并執(zhí)行設(shè)定的運(yùn)動(dòng)動(dòng)作。由于采用了表格程序的手段,并通過表格程序的數(shù)據(jù)轉(zhuǎn)換功能,完成對(duì)機(jī)器人運(yùn)動(dòng)軌跡的檢查;同時(shí)在編程中加入了運(yùn)動(dòng)參數(shù),在基于表格編程的基礎(chǔ)上實(shí)現(xiàn)了開放式機(jī)器人的操作控制;以及通過在表格中填寫數(shù)據(jù)的編程模式,替代了復(fù)雜費(fèi)時(shí)的專用機(jī)器人語言編程過程,直接簡(jiǎn)化了開放式機(jī)器人的控制和編程,顯著提高了開放式機(jī)器人的操作使用性能。
文檔編號(hào)G05B19/425GK101551654SQ200910106799
公開日2009年10月7日 申請(qǐng)日期2009年4月29日 優(yōu)先權(quán)日2009年4月29日
發(fā)明者李引魁, 錢作忠 申請(qǐng)人:深圳市眾為興數(shù)控技術(shù)有限公司