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