在之前有提出了6個與數據類型有關的問題,今天先來回答前三個問題。
(1)為什么兩條MoveL指令語句,使用相同的速度數據,走同樣距離的軌跡,所花的時間卻不相同呢?
在以上指令語句中決定了機器人運動速度的是“v1000”,它是機器人控制系統預定義的一個速度數據(speeddata)。speeddata數據類型,含有4個組件成分,它們分別是:
1)v_tcp(工具中心點的運動速率,單位為mm/s);
2)v_ori(工具姿態變化的速度,單位為°/s);
3)v_leax(線性運動外軸的速度mm/s);
4)v_reax(旋轉運動外軸的速度,單位為°/s);
當機器人從當前位置運動到運動指令目標點位置的時候,可能同時包含TCP位置的變化、工具姿態的變化、線性外軸位置的變化、旋轉外軸角度的變化中的一種或多種,當涉及多種變化時,哪一種變化所需的時間最長,它就決定了執行運動指令語句最終所需花費的時間。
“v1000”是一個speeddata型數據,它規定了4個速度,那“v1000”中的“1000”指的是哪一個速度呢?其它三個速度又是多少呢?
“1000”指的是v_tcp,ABB機器人控制系統中預定義的speeddata數據都是以“v+v_tcp組件的值“來命名的。ABB機器人控制系統的預定義數據可以在程序數據頁面進行查看,將數據查看范圍改為【僅限內置數據】,然后選擇需要查看的數據類型即可查看到內置數據的值。
系統預定義的speeddata數據”V1000“各個組件的值,如下圖所示:
接下來解答第2個問題:
(2)為什么在MoveL指令語句之的setdo指令在手動單步調試運行時能夠在準確的時機輸出DO信號,而在自動模式運行時卻不能在準確的時機執行呢?
ABB工業機器人的初學者基本上都碰到過這個問題,它是由于在在I/O指令之前的一條運動指令語句中沒有使用區域數據(zonedata)fine,導致I/O指令被提前預讀所導致的。
zonedata數據類型適用于規定TCP在朝下條運動指令目標點移動前應當如何逼近當前一條運動指令的目標點。在有的品牌的工業機器人控制系統中,它被稱作逼近等級數據。zonedata數據由7個組件組成,它們分別是:
1)finep 是否是停止點,該組件是一個bool型數據,值僅能為:True或者false。當值為True時,表示運動指令語句的目標點為停止點,此時TCP會精確逼近運動指令的目標點位,同時還能阻止隨后的指令語句被預讀。該組件值為fales時,則需根據后續6個組件的值來確定TCP對于運動指令目標點的逼近程度。
2)pzone_tcp TCP區域的半徑,單位為mm,該組件值決定了機器人運動軌跡圓角拐點的位置。對于系統預定義的zonedata數據,就是以“z+pzone_tcp組件的值”來命名的。
3)pzone_ori工具重新調整姿態區域的半徑,單位為mm,該組件值決定了機器人該在運動軌跡中的什么位置開始向下一個目標點位的姿態進行調整。
4)pzone_eax 外軸區域半徑,單位為mm,該組件值決定了機器人該在運動軌跡中的什么位置開始向下一個目標點位的外軸位置移動,如果機器人系統沒有外軸,則該組件值無效。
5)zone_ori 工具重新定位區域,單位為度,在TCP姿態無變化或存在大幅度變化時,pzone_ori組件值無效,該組件值生效。
6)zone_leax 線性外軸區域半徑,單位為mm,在TCP姿態無變化或存在大幅度變化時,pzone_eax組件值無效,該組件值生效。
7)zone_reax 旋轉外軸區域角度,單位為度,在TCP姿態無變化或存在大幅度變化時,pzone_eax組件值無效,該組件值生效。
技術參考手冊《RAPID指令、函數和數據類型》中給出了一個很好的說明示例:
區域數據在Robotstudio中是可以直觀顯示的,首先將示教器中運動軌跡程序同步到Robotstudio虛擬工作站中,然后在Robotstudio軟件的【路徑和目標點】樹狀欄中選中同步過來的軌跡,右擊彈出快捷菜單,依次選擇【查看】-【顯示各區域】即可直觀顯示出zonedata數據的pzone_tcp組件所描述的TCP轉彎半徑區域。
最后我們來解答第3個問題:
(3)為什么有的時候執行MoveL指令,會提示“軸配置錯誤”,軸配置是什么意思呢?
軸配置錯誤是指機器人TCP不能以指定的軸配置方案到達運動指令的目標點,或者軸配置監督被觸發。這里提到的軸配置方案和目標點等信息,都是存儲在位置數據(robtarget)中的。robotarget數據類型由trans、rot、robconf、extax四個組件構成的。其中trans組件記錄的是機器人TCP運動到目標點位時在參考坐標系中的坐標值,rot組件記錄的是機器人運動到目標點位時工具所具有的姿態,robconf組件記錄的是機器人的軸配置方案,extax組件記錄的是機器人運動到目標點位時外軸的數據。
第3個問題中提及的“軸配置錯誤”主要是與robtarget數據的robconf組件有關。robtarget屬于復合數據,它的每個組件又是一個數據類型,其中robconf組件的數據類型是confdata(軸配置數據)。想要了解解什么是“軸配置”,就要了解confdata數據類型。
confdata數據類型是用于描述機器人軸配置的數據類型,它由4個組件構成,它們分別是cf1、cf4、cf6、cfx。下面我們以六軸串聯無平行桿型機器人為例,介紹各個組件的作用:
1)cf1 用于描述機器人軸1所處的象限。象限0為從零位開始正向旋轉的第一個四分之一圈,即0° 到90°;象限1為第二個四分之一圈,即90°到180°,以此類推。象限-1 為0°到(-90°)的四分之一圈,以此類推。
2)cf4 用于描述機器人軸4所處的象限。
3)cf6 用于描述機器人軸6所處的象限。
4)cfx 用于描述機器人腕中心相對于軸1的軸線位置關系、腕中心相對于下臂軸線的位置關系以及軸5的關節角度。換而言之cfx組件描述了機器人姿態與腕奇異點、臂奇異點、附加奇異點的相對位置關系,它的取值范圍是0-7。
腕中心是指,軸4、軸5、軸6三個軸線的交匯點。下臂軸線是指軸2、軸3旋轉中心點的連線。對于6軸串聯機器人配置監督將檢查第1、4和6軸是否不會移動180度以上,且該有序移動無需更改cfx。當機器人往目標點移動的過程中,如果觸犯軸配置監督條件,機器人控制系統將發出軸配置錯誤的報警。
責任編輯:gt
-
控制系統
+關注
關注
41文章
6657瀏覽量
110829 -
機器人
+關注
關注
211文章
28632瀏覽量
208182
發布評論請先 登錄
相關推薦
評論