在本篇文章中我們提出了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機器人控制系統的預定義數據可以在程序數據頁面進行查看,将數據查看範圍改為【僅限内置數據】,然後選擇需要查看的數據類型即可查看到内置數據的值。
(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)為什麼有的時候執行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。下面我們以六軸串聯無平行杆型機器人為例,介紹各個組件的作用:
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。當機器人往目标點移動的過程中,如果觸犯軸配置監督條件,機器人控制系統将發出軸配置錯誤的報警。
在文章的最後,給大家留一道思考題。對于下圖中機器人所示姿态,cfx的值應該是多少?
歡迎大家寫下該道思考題的答案,以便讓作者了解到是否有給大家講清楚什麼叫做軸配置。您的答案,決定了本專題下一篇文章的内容!
歡迎大家在公衆号留言,寫下該道思考題的答案,以便讓作者了解到是否有給大家講清楚什麼叫做軸配置。您的答案,決定了本專題下一篇文章的内容!