什么是“軸配置錯(cuò)誤”??
(1)為什么兩條MoveL指令語句,使用相同的速度數(shù)據(jù),走同樣距離的軌跡,所花的時(shí)間卻不相同呢?
在以上指令語句中決定了機(jī)器人運(yùn)動(dòng)速度的是“v1000”,它是機(jī)器人控制系統(tǒng)預(yù)定義的一個(gè)速度數(shù)據(jù)(speeddata)。speeddata數(shù)據(jù)類型,含有4個(gè)組件成分,它們分別是:
1)v_tcp(工具中心點(diǎn)的運(yùn)動(dòng)速率,單位為mm/s);
2)v_ori(工具姿態(tài)變化的速度,單位為°/s);
3)v_leax(線性運(yùn)動(dòng)外軸的速度mm/s);
4)v_reax(旋轉(zhuǎn)運(yùn)動(dòng)外軸的速度,單位為°/s);當(dāng)機(jī)器人從當(dāng)前位置運(yùn)動(dòng)到運(yùn)動(dòng)指令目標(biāo)點(diǎn)位置的時(shí)候,可能同時(shí)包含TCP位置的變化、工具姿態(tài)的變化、線性外軸位置的變化、旋轉(zhuǎn)外軸角度的變化中的一種或多種,當(dāng)涉及多種變化時(shí),哪一種變化所需的時(shí)間最長(zhǎng),它就決定了執(zhí)行運(yùn)動(dòng)指令語句最終所需花費(fèi)的時(shí)間。“v1000”是一個(gè)speeddata型數(shù)據(jù),它規(guī)定了4個(gè)速度,那“v1000”中的“1000”指的是哪一個(gè)速度呢?其它三個(gè)速度又是多少呢?“1000”指的是v_tcp,ABB機(jī)器人控制系統(tǒng)中預(yù)定義的speeddata數(shù)據(jù)都是以“v+v_tcp組件的值"來命名的。ABB機(jī)器人控制系統(tǒng)的預(yù)定義數(shù)據(jù)可以在程序數(shù)據(jù)頁面進(jìn)行查看,將數(shù)據(jù)查看范圍改為【僅限內(nèi)置數(shù)據(jù)】,然后選擇需要查看的數(shù)據(jù)類型即可查看到內(nèi)置數(shù)據(jù)的值。
系統(tǒng)預(yù)定義的speeddata數(shù)據(jù)”V1000“各個(gè)組件的值,如下圖所示:
接下來解答第2個(gè)問題:
(2)為什么在MoveL指令語句之的setdo指令在手動(dòng)單步調(diào)試運(yùn)行時(shí)能夠在準(zhǔn)確的時(shí)機(jī)輸出DO信號(hào),而在自動(dòng)模式運(yùn)行時(shí)卻不能在準(zhǔn)確的時(shí)機(jī)執(zhí)行呢?
ABB工業(yè)機(jī)器人的初學(xué)者基本上都碰到過這個(gè)問題,它是由于在在I/O指令之前的一條運(yùn)動(dòng)指令語句中沒有使用區(qū)域數(shù)據(jù)(zonedata)fine,導(dǎo)致I/O指令被提前預(yù)讀所導(dǎo)致的。
zonedata數(shù)據(jù)類型適用于規(guī)定TCP在朝下條運(yùn)動(dòng)指令目標(biāo)點(diǎn)移動(dòng)前應(yīng)當(dāng)如何逼近當(dāng)前一條運(yùn)動(dòng)指令的目標(biāo)點(diǎn)。在有的品牌的工業(yè)機(jī)器人控制系統(tǒng)中,它被稱作逼近等級(jí)數(shù)據(jù)。zonedata數(shù)據(jù)由7個(gè)組件組成,它們分別是:
1)finep 是否是停止點(diǎn),該組件是一個(gè)bool型數(shù)據(jù),值僅能為:True或者false。當(dāng)值為True時(shí),表示運(yùn)動(dòng)指令語句的目標(biāo)點(diǎn)為停止點(diǎn),此時(shí)TCP會(huì)精確逼近運(yùn)動(dòng)指令的目標(biāo)點(diǎn)位,同時(shí)還能阻止隨后的指令語句被預(yù)讀。該組件值為fales時(shí),則需根據(jù)后續(xù)6個(gè)組件的值來確定TCP對(duì)于運(yùn)動(dòng)指令目標(biāo)點(diǎn)的逼近程度。
2)pzone_tcp TCP區(qū)域的半徑,單位為mm,該組件值決定了機(jī)器人運(yùn)動(dòng)軌跡圓角拐點(diǎn)的位置。對(duì)于系統(tǒng)預(yù)定義的zonedata數(shù)據(jù),就是以“z+pzone_tcp組件的值"來命名的。
3)pzone_ori工具重新調(diào)整姿態(tài)區(qū)域的半徑,單位為mm,該組件值決定了機(jī)器人該在運(yùn)動(dòng)軌跡中的什么位置開始向下一個(gè)目標(biāo)點(diǎn)位的姿態(tài)進(jìn)行調(diào)整。
4)pzone_eax 外軸區(qū)域半徑,單位為mm,該組件值決定了機(jī)器人該在運(yùn)動(dòng)軌跡中的什么位置開始向下一個(gè)目標(biāo)點(diǎn)位的外軸位置移動(dòng),如果機(jī)器人系統(tǒng)沒有外軸,則該組件值無效。
5)zone_ori 工具重新定位區(qū)域,單位為度,在TCP姿態(tài)無變化或存在大幅度變化時(shí),pzone_ori組件值無效,該組件值生效。
6)zone_leax 線性外軸區(qū)域半徑,單位為mm,在TCP姿態(tài)無變化或存在大幅度變化時(shí),pzone_eax組件值無效,該組件值生效。7)zone_reax 旋轉(zhuǎn)外軸區(qū)域角度,單位為度,在TCP姿態(tài)無變化或存在大幅度變化時(shí),pzone_eax組件值無效,該組件值生效。技術(shù)參考手冊(cè)《RAPID指令、函數(shù)和數(shù)據(jù)類型》中給出了一個(gè)很好的說明示例:
區(qū)域數(shù)據(jù)在Robotstudio中是可以直觀顯示的,首先將示教器中運(yùn)動(dòng)軌跡程序同步到Robotstudio虛擬工作站中,然后在Robotstudio軟件的【路徑和目標(biāo)點(diǎn)】樹狀欄中選中同步過來的軌跡,右擊彈出快捷菜單,依次選擇【查看】-【顯示各區(qū)域】即可直觀顯示出zonedata數(shù)據(jù)的pzone_tcp組件所描述的TCP轉(zhuǎn)彎半徑區(qū)域。
機(jī)器人培訓(xùn)老師最后來給大家解答第3個(gè)問題:
(3)為什么有的時(shí)候執(zhí)行MoveL指令,會(huì)提示“軸配置錯(cuò)誤”,軸配置是什么意思呢?
軸配置錯(cuò)誤是指機(jī)器人TCP不能以指定的軸配置方案到達(dá)運(yùn)動(dòng)指令的目標(biāo)點(diǎn),或者軸配置監(jiān)督被觸發(fā)。這里提到的軸配置方案和目標(biāo)點(diǎn)等信息,都是存儲(chǔ)在位置數(shù)據(jù)(robtarget)中的。robotarget數(shù)據(jù)類型由trans、rot、robconf、extax四個(gè)組件構(gòu)成的。其中trans組件記錄的是機(jī)器人TCP運(yùn)動(dòng)到目標(biāo)點(diǎn)位時(shí)在參考坐標(biāo)系中的坐標(biāo)值,rot組件記錄的是機(jī)器人運(yùn)動(dòng)到目標(biāo)點(diǎn)位時(shí)工具所具有的姿態(tài),robconf組件記錄的是機(jī)器人的軸配置方案,extax組件記錄的是機(jī)器人運(yùn)動(dòng)到目標(biāo)點(diǎn)位時(shí)外軸的數(shù)據(jù)。
第3個(gè)問題中提及的“軸配置錯(cuò)誤”主要是與robtarget數(shù)據(jù)的robconf組件有關(guān)。robtarget屬于復(fù)合數(shù)據(jù),它的每個(gè)組件又是一個(gè)數(shù)據(jù)類型,其中robconf組件的數(shù)據(jù)類型是confdata(軸配置數(shù)據(jù))。想要了解解什么是“軸配置”,就要了解confdata數(shù)據(jù)類型。
confdata數(shù)據(jù)類型是用于描述機(jī)器人軸配置的數(shù)據(jù)類型,它由4個(gè)組件構(gòu)成,它們分別是cf1、cf4、cf6、cfx。下面我們以六軸串聯(lián)無平行桿型機(jī)器人為例,介紹各個(gè)組件的作用:
1)cf1 用于描述機(jī)器人軸1所處的象限。象限0為從零位開始正向旋轉(zhuǎn)的第一個(gè)四分之一圈,即0° 到90°;象限1為第二個(gè)四分之一圈,即90°到180°,以此類推。象限-1 為0°到(-90°)的四分之一圈,以此類推。
更多資訊:智通教育(m.aobo962.com)致力于工業(yè)機(jī)器人培訓(xùn)、PLC培訓(xùn)、電工培訓(xùn)等行業(yè)課程,詳情聯(lián)系:0769-8707-8535.