機器人現(xiàn)場編程-變量的定義課件_第1頁
機器人現(xiàn)場編程-變量的定義課件_第2頁
機器人現(xiàn)場編程-變量的定義課件_第3頁
機器人現(xiàn)場編程-變量的定義課件_第4頁
機器人現(xiàn)場編程-變量的定義課件_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

變量

變量的定義變量變量主要分類位姿變量

實型變量

字符串變量變量主要分類位姿變量2位姿變量定義:

描述位姿信息的變量被稱為位姿變量。位姿變量僅在有賦值時才被定義。它會保持未定義狀態(tài)直到被賦予數(shù)值,如果執(zhí)行了含未定義變量的程序,會報出錯。位姿變量定義:3位姿變量位姿變量在以下的情況中很有用:

相同的位姿數(shù)據(jù)被重復(fù)利用而沒有必要每次示教其位姿。

一個已定義的位姿變量可在不同的程序中使用。

一個已定義位姿變量可以被用來或被改變來定義一個不同的位姿。

計算值可被用作為位姿信息,以取代使用示教器對機器人進行耗時的示教工作。

位姿變量可以自由命名,使程序變得更易讀。位姿變量位姿變量在以下的情況中很有用:4位姿變量的三種定義方法-監(jiān)控指令定義1)HERE指令把機器人的當(dāng)前位姿數(shù)據(jù)存儲在指定名稱下。示例1:使用關(guān)節(jié)位移值

變量名以#開頭,以區(qū)別于變換值。緊跟在指令后面,顯示當(dāng)前位姿的關(guān)節(jié)位移值:

>HERE#pose?JT1JT2JT3JT4JT5JT6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

變化嗎?(放棄請按RETURN鍵)?>

位姿變量的三種定義方法-監(jiān)控指令定義1)HERE指令把機器人5位姿變量的三種定義方法-監(jiān)控指令定義示例2:使用變換值

緊跟在指令后面,顯示當(dāng)前位姿的變換值:>HEREpose?X[mm]Y[mm]Z[mm]O[deg]A[deg]T[deg]xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

變化嗎?(放棄請按RETURN鍵)?>

位姿變量的三種定義方法-監(jiān)控指令定義示例2:使用變換值6位姿變量的三種定義方法-監(jiān)控指令定義2)POINT指令用另一個已定義的位姿變量來定義一個位姿,或通過終端輸入數(shù)值來定義它。示例1:使用關(guān)節(jié)位移值

(定義一個新的、未定義過的變量)>POINT#pose?JT1JT2JT3JT4JT5JT60.0000.0000.0000.0000.0000.000變化嗎?(放棄請按RETURN鍵)?>

輸入新值,各值之間以逗號為分隔:xxx,xxx,xxx,xxx,xxx,xxx位姿變量的三種定義方法-監(jiān)控指令定義2)POINT指令用另一7位姿變量的三種定義方法-監(jiān)控指令定義示例2:使用關(guān)節(jié)位移值(改變一個已定義變量的值)>POINT#pose?JT1JT2JT3JT4JT5JT610.00020.00030.00040.00050.00040.000變化嗎?(放棄請按RETURN鍵)?

輸入要改變的值:

30,,,,20?

將JT1和JT5的值改變?yōu)?0和20。位姿變量的三種定義方法-監(jiān)控指令定義示例2:使用關(guān)節(jié)位8位姿變量的三種定義方法-監(jiān)控指令定義示例3:替換一個已定義變量的值>POINTpose_1=pose_2?JT1JT2JT3JT4JT5JT610.00020.00030.00040.00050.00040.000變化嗎?(放棄請按RETURN鍵)?>

顯示要定義給pose_1的值(Pose_2的最新值),按?鍵,將這個值設(shè)置給pose_1。位姿變量的三種定義方法-監(jiān)控指令定義示例3:替換一9位姿變量的三種定義方法-程序命令定義1)HERE命令將機器人的當(dāng)前位姿數(shù)據(jù)存儲到指定名稱下。

HEREpose注意:如果是關(guān)節(jié)位移值變量,變量名以#開始,如:#pick,#start。如果是變換值變量,變量名沒有前綴#,如:pick,start。2)POINT命令可用一個已定義的位姿來替代一個位姿變量。

POINTpose_1=pose_2

變量“pose_1”被已定義的變量“pose_2”的值代替,如果“pose_2”未定義則報出錯。位姿變量的三種定義方法-程序命令定義1)HERE命令將機器10位姿變量的三種定義方法-使用復(fù)合變換值

復(fù)合變換值或相對變換值,即在兩個坐標(biāo)系之間的變換值,用在兩個或多個過渡坐標(biāo)系之間的變換值的組合來表達(dá)。

如“plate”是相對于基礎(chǔ)坐標(biāo)系的變換值的變量名,描述了平板上的坐標(biāo)系。如果有個相對于位置“plate””的物體的位姿被定義為“object”,那么該物體object相對于機器人基礎(chǔ)坐標(biāo)系的復(fù)合變換值,可以用“plate+object”來描述。位姿變量的三種定義方法-使用復(fù)合變換值復(fù)合變換11位姿變量的三種定義方法-使用復(fù)合變換值示例:

位姿變量的三種定義方法-使用復(fù)合變換值示例:

12位姿變量的三種定義方法-使用復(fù)合變換值(1)用示教器將機器人工具點動到要命名為“plate”的位姿,然后輸入以下指令將此位姿定義為plate。

>HEREplate?(2)將機器人工具點動到要命名為“object”的位姿,并輸入:

>HEREplate+object?

變換值“object”現(xiàn)在定義為相對于“plate”的當(dāng)前位姿(如果“plate”在此時仍未定義,“object”將不能被定義并且報出錯)。(3)將機械手移動到撿起取出object的位姿,并輸入:

>HEREplate+object+pickup?(4)最后的命令定義相對于變換值“object”的位姿變量“pickup”。位姿變量的三種定義方法-使用復(fù)合變換值(1)用示教器將機器人13位姿變量的三種定義方法-使用復(fù)合變換值注意:

復(fù)合變換值通過幾個獨立變換值的“+”結(jié)合來定義。請在“+”和變換值之間不要留任何空格。

用這種方法,你可以結(jié)合任意多的變換值。

如果機器人要在指定為相對于“object”的“pickup”位姿處撿起object,程序應(yīng)該這樣寫:

JMOVEplate+object+pickup

LMOVEplate+object+pickup位姿變量的三種定義方法-使用復(fù)合變換值注意:14位姿變量的三種定義方法-使用復(fù)合變換值說明:1.不要改變相對變換值表達(dá)式中的變換值變量的順序。

例如,如果變換值變量“b”被定義為相對于變換值變量“a”,表達(dá)式應(yīng)該為“a+b”,而不是“b+a”。2.上例中的位姿數(shù)據(jù)“object”和“pickup”被定義為了相對于其他位姿數(shù)據(jù)。因此,不要使用“JMOVEobject”或“LMOVEpickup”指令,除非確信它在程序中的目的和影響。位姿變量的三種定義方法-使用復(fù)合變換值說明:15位姿變量的三種定義方法-使用復(fù)合變換值

在重復(fù)使用復(fù)合變換值時,請使用POINT命令來減少計算復(fù)合變換值的時間。

例如,要接近位姿“pickup”,然后向“pickup”位姿移動,可能輸入:JAPPROplate+object+pickup,100/接近“pickup”上方100 mmLMOVEplate+object+pickup/直線運動到“pickup”

然而,如果輸入以下命令,將可以節(jié)省計算時間:POINTx=plate+object+pickup/計算目標(biāo)位姿JAPPROx,100/接近目標(biāo)上方100mmLMOVEx/直線運動到目標(biāo)

這兩個程序的結(jié)果動作相同,但是后者計算一次混合轉(zhuǎn)換,因此執(zhí)行時間更短。在這個非常簡單例子中,執(zhí)行時間的差異是很小的,但是在更復(fù)雜的程序中,它可產(chǎn)生很大的差異,并且可以縮短整個循環(huán)時間。位姿變量的三種定義方法-使用復(fù)合變換值在重復(fù)使用16實型變量的定義實型變量用賦值命令(=)來定義,給實型變量賦值的格式是:

Real_variable_name=numeric_value示例:a=10.5count=i*2+8Z[2]=Z[1]+5.2

左側(cè)的變量可以是數(shù)量變量(如計數(shù)),也可以是數(shù)組元素(如Z[2])。變量僅在賦值時定義。在賦值前,它一直處于未定義狀態(tài),如果執(zhí)行了含有未定義變量的程序,將報出錯。

右側(cè)的數(shù)值可以是一個常數(shù)、一個變量或者是一個數(shù)學(xué)表達(dá)式。在處理賦值命令時,先計算賦值命令的右側(cè)值,然后把這個值賦給左側(cè)的變量。實型變量的定義實型變量用賦值命令(=)來定義,給實型變量賦值17實型變量的定義如果命令左側(cè)的變量是一個新變量或以前從未被賦值過,右邊的值將被自動賦值給該變量。如果左側(cè)變量是個已定義的變量,這個新值將替換此變量的當(dāng)前值。

例如,指令“x=3”賦值3給變量“x”。它讀作“賦值3給x”,而不是“x等于3”。下面的例子將清晰地解釋其處理過程:

x=x+1

如果此例是一個數(shù)學(xué)等式,讀作“x等于x加1”,但它沒有意義,作為賦值命令,它應(yīng)該讀作“賦值x加1給x”。這樣,先計算“x”的當(dāng)前值和1的和,然后把結(jié)果值作為一個新的數(shù)值賦值給“x”。因此,這個等式要求首先定義x,如下所示:x=3x=x+1

這時,“x”的結(jié)果值為4。實型變量的定義如果命令左側(cè)的變量是一個新變量或18字符串變量的定義

字符串變量用賦值命令(=)定義,給字符串變量賦值的格式是:$string_variable=string_value示例:$a1=$a2$errormess[2]=“timeover”

左邊的字符變量可以是一個變量(如$name),也可以是數(shù)組元素(如$line[2])。只有當(dāng)變量在被創(chuàng)建了名字并被賦予數(shù)值時,它才被定義。在賦值前,它一直處于未定義狀態(tài),如果執(zhí)行了含有未定義變量的程序,將報出錯。字符串變量的定義字符串變量用賦值命令(=)定義,給字19字符串變量的定義

右邊的字符串可以是字符串常數(shù)、字符串變量或者是字符表達(dá)式。在處理賦值命令時,先計算賦值命令右側(cè)的值,然后把這個值賦給左側(cè)的變量。$name=“KAWASAKIHEAVYINDUSTRIESLTD.”

在上述命令中,把“”括起來的的字符串賦值給變量“$name”,如果指令左側(cè)的變量以前未被用過,此字符串將被自動賦值。如果左側(cè)的變量是個已定義的變量,這個命令將用右側(cè)的新字符串替換當(dāng)前的字符串。字符串變量的定義右邊的字符串可以是字符串常數(shù)、20TheEnd!TheEnd!21變量

變量的定義變量變量主要分類位姿變量

實型變量

字符串變量變量主要分類位姿變量23位姿變量定義:

描述位姿信息的變量被稱為位姿變量。位姿變量僅在有賦值時才被定義。它會保持未定義狀態(tài)直到被賦予數(shù)值,如果執(zhí)行了含未定義變量的程序,會報出錯。位姿變量定義:24位姿變量位姿變量在以下的情況中很有用:

相同的位姿數(shù)據(jù)被重復(fù)利用而沒有必要每次示教其位姿。

一個已定義的位姿變量可在不同的程序中使用。

一個已定義位姿變量可以被用來或被改變來定義一個不同的位姿。

計算值可被用作為位姿信息,以取代使用示教器對機器人進行耗時的示教工作。

位姿變量可以自由命名,使程序變得更易讀。位姿變量位姿變量在以下的情況中很有用:25位姿變量的三種定義方法-監(jiān)控指令定義1)HERE指令把機器人的當(dāng)前位姿數(shù)據(jù)存儲在指定名稱下。示例1:使用關(guān)節(jié)位移值

變量名以#開頭,以區(qū)別于變換值。緊跟在指令后面,顯示當(dāng)前位姿的關(guān)節(jié)位移值:

>HERE#pose?JT1JT2JT3JT4JT5JT6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

變化嗎?(放棄請按RETURN鍵)?>

位姿變量的三種定義方法-監(jiān)控指令定義1)HERE指令把機器人26位姿變量的三種定義方法-監(jiān)控指令定義示例2:使用變換值

緊跟在指令后面,顯示當(dāng)前位姿的變換值:>HEREpose?X[mm]Y[mm]Z[mm]O[deg]A[deg]T[deg]xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

變化嗎?(放棄請按RETURN鍵)?>

位姿變量的三種定義方法-監(jiān)控指令定義示例2:使用變換值27位姿變量的三種定義方法-監(jiān)控指令定義2)POINT指令用另一個已定義的位姿變量來定義一個位姿,或通過終端輸入數(shù)值來定義它。示例1:使用關(guān)節(jié)位移值

(定義一個新的、未定義過的變量)>POINT#pose?JT1JT2JT3JT4JT5JT60.0000.0000.0000.0000.0000.000變化嗎?(放棄請按RETURN鍵)?>

輸入新值,各值之間以逗號為分隔:xxx,xxx,xxx,xxx,xxx,xxx位姿變量的三種定義方法-監(jiān)控指令定義2)POINT指令用另一28位姿變量的三種定義方法-監(jiān)控指令定義示例2:使用關(guān)節(jié)位移值(改變一個已定義變量的值)>POINT#pose?JT1JT2JT3JT4JT5JT610.00020.00030.00040.00050.00040.000變化嗎?(放棄請按RETURN鍵)?

輸入要改變的值:

30,,,,20?

將JT1和JT5的值改變?yōu)?0和20。位姿變量的三種定義方法-監(jiān)控指令定義示例2:使用關(guān)節(jié)位29位姿變量的三種定義方法-監(jiān)控指令定義示例3:替換一個已定義變量的值>POINTpose_1=pose_2?JT1JT2JT3JT4JT5JT610.00020.00030.00040.00050.00040.000變化嗎?(放棄請按RETURN鍵)?>

顯示要定義給pose_1的值(Pose_2的最新值),按?鍵,將這個值設(shè)置給pose_1。位姿變量的三種定義方法-監(jiān)控指令定義示例3:替換一30位姿變量的三種定義方法-程序命令定義1)HERE命令將機器人的當(dāng)前位姿數(shù)據(jù)存儲到指定名稱下。

HEREpose注意:如果是關(guān)節(jié)位移值變量,變量名以#開始,如:#pick,#start。如果是變換值變量,變量名沒有前綴#,如:pick,start。2)POINT命令可用一個已定義的位姿來替代一個位姿變量。

POINTpose_1=pose_2

變量“pose_1”被已定義的變量“pose_2”的值代替,如果“pose_2”未定義則報出錯。位姿變量的三種定義方法-程序命令定義1)HERE命令將機器31位姿變量的三種定義方法-使用復(fù)合變換值

復(fù)合變換值或相對變換值,即在兩個坐標(biāo)系之間的變換值,用在兩個或多個過渡坐標(biāo)系之間的變換值的組合來表達(dá)。

如“plate”是相對于基礎(chǔ)坐標(biāo)系的變換值的變量名,描述了平板上的坐標(biāo)系。如果有個相對于位置“plate””的物體的位姿被定義為“object”,那么該物體object相對于機器人基礎(chǔ)坐標(biāo)系的復(fù)合變換值,可以用“plate+object”來描述。位姿變量的三種定義方法-使用復(fù)合變換值復(fù)合變換32位姿變量的三種定義方法-使用復(fù)合變換值示例:

位姿變量的三種定義方法-使用復(fù)合變換值示例:

33位姿變量的三種定義方法-使用復(fù)合變換值(1)用示教器將機器人工具點動到要命名為“plate”的位姿,然后輸入以下指令將此位姿定義為plate。

>HEREplate?(2)將機器人工具點動到要命名為“object”的位姿,并輸入:

>HEREplate+object?

變換值“object”現(xiàn)在定義為相對于“plate”的當(dāng)前位姿(如果“plate”在此時仍未定義,“object”將不能被定義并且報出錯)。(3)將機械手移動到撿起取出object的位姿,并輸入:

>HEREplate+object+pickup?(4)最后的命令定義相對于變換值“object”的位姿變量“pickup”。位姿變量的三種定義方法-使用復(fù)合變換值(1)用示教器將機器人34位姿變量的三種定義方法-使用復(fù)合變換值注意:

復(fù)合變換值通過幾個獨立變換值的“+”結(jié)合來定義。請在“+”和變換值之間不要留任何空格。

用這種方法,你可以結(jié)合任意多的變換值。

如果機器人要在指定為相對于“object”的“pickup”位姿處撿起object,程序應(yīng)該這樣寫:

JMOVEplate+object+pickup

LMOVEplate+object+pickup位姿變量的三種定義方法-使用復(fù)合變換值注意:35位姿變量的三種定義方法-使用復(fù)合變換值說明:1.不要改變相對變換值表達(dá)式中的變換值變量的順序。

例如,如果變換值變量“b”被定義為相對于變換值變量“a”,表達(dá)式應(yīng)該為“a+b”,而不是“b+a”。2.上例中的位姿數(shù)據(jù)“object”和“pickup”被定義為了相對于其他位姿數(shù)據(jù)。因此,不要使用“JMOVEobject”或“LMOVEpickup”指令,除非確信它在程序中的目的和影響。位姿變量的三種定義方法-使用復(fù)合變換值說明:36位姿變量的三種定義方法-使用復(fù)合變換值

在重復(fù)使用復(fù)合變換值時,請使用POINT命令來減少計算復(fù)合變換值的時間。

例如,要接近位姿“pickup”,然后向“pickup”位姿移動,可能輸入:JAPPROplate+object+pickup,100/接近“pickup”上方100 mmLMOVEplate+object+pickup/直線運動到“pickup”

然而,如果輸入以下命令,將可以節(jié)省計算時間:POINTx=plate+object+pickup/計算目標(biāo)位姿JAPPROx,100/接近目標(biāo)上方100mmLMOVEx/直線運動到目標(biāo)

這兩個程序的結(jié)果動作相同,但是后者計算一次混合轉(zhuǎn)換,因此執(zhí)行時間更短。在這個非常簡單例子中,執(zhí)行時間的差異是很小的,但是在更復(fù)雜的程序中,它可產(chǎn)生很大的差異,并且可以縮短整個循環(huán)時間。位姿變量的三種定義方法-使用復(fù)合變換值在重復(fù)使用37實型變量的定義實型變量用賦值命令(=)來定義,給實型變量賦值的格式是:

Real_variable_name=numeric_value示例:a=10.5count=i*2+8Z[2]=Z[1]+5.2

左側(cè)的變量可以是數(shù)量變量(如計數(shù)),也可以是數(shù)組元素(如Z[2])。變量僅在賦值時定義。在賦值前,它一直處于未定義狀態(tài),如果執(zhí)行了含有未定義變量的程序,將報出錯。

右側(cè)的數(shù)值可以是一個常數(shù)、一個變量或者是一個數(shù)學(xué)表達(dá)式。在處理賦

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論