伴隨著機器人的發(fā)展,機器人語言也得到了發(fā)展和完善,機器人語言已經成為機器人技術的一個重要組成部分。機器人的功能除了依靠機器人的硬件支撐以外,相當一部分是靠機器人語言來完成的。早期的機器人由于功能單一,動作簡單,可采用固定程序或者示教方式來控制機器人的運動。隨著機器人作業(yè)動作的多樣化和作業(yè)環(huán)境的復雜化,依靠固定的程序或示教方式已經滿足不了要求,必須依靠能適應作業(yè)和環(huán)境隨時變化的機器人語言編程來完成機器人工作。下面就來了解一下常見的機器人編程語言吧!
VAL語言
一、VAL語言及特點
VAL語言是美國Unimation公司于1979年推出的一種機器人編程語言,主要配置在PUMA和UNIMATION等型機器人上,是一種的動作類描述語言。VAL語言是在BASIC語言的基礎上發(fā)展起來的,所以與BASIC語言的結構很相似。在VAL的基礎上Unimation公司推出了VALⅡ語言。
VAL語言可應用于上下兩級計算機控制的機器人系統(tǒng)。上位機為LSI-11/23,編程在上位機中進行,上位機進行系統(tǒng)的管理;下位機為6503微處理器,主要控制各關節(jié)的實時運動。編程時可以VAL語言和6503匯編語言混合編程。
VAL語言命令簡單、清晰易懂,描述機器人作業(yè)動作及與上位機的通信均較方便,實時功能強;可以在在線和離線兩種狀態(tài)下編程,適用于多種計算機控制的機器人;能夠迅速地計算出不同坐標系下復雜運動的連續(xù)軌跡,能連續(xù)生成機器人的控制信號,可以與操作者交互地在線修改程序和生成程序;VAL語言包含有一些子程序庫,通過調用各種不同的子程序可很快組合成復雜操作控制;能與外部存儲器進行快速數據傳輸以保存程序和數據。
VAL語言系統(tǒng)包括文本編輯、系統(tǒng)命令和編程語言三個部分。
在文本編輯狀態(tài)下可以通過鍵盤輸入文本程序,也可通過示教盒在示教方式下輸入程序。在輸入過程中可修改、編輯、生成程序,zui后保存到存儲器中。在此狀態(tài)下也可以調用已存在的程序。
系統(tǒng)命令包括位置定義、程序和數據列表、程序和數據存儲、系統(tǒng)狀態(tài)設置和控制、系統(tǒng)開關控制、系統(tǒng)診斷和修改。
編程語言把一條條程序語句轉換執(zhí)行。
二、VAL語言的指令
VAL語言包括監(jiān)控指令和程序指令兩種。其中監(jiān)控指令有六類,分別為位置及姿態(tài)定義指令、程序編輯指令、列表指令、存儲指令、控制程序執(zhí)行指令和系統(tǒng)狀態(tài)控制指令。各類指令的具體形式及功能如下:
1.監(jiān)控指令
1)位置及姿態(tài)定義指令
POINT指令:執(zhí)行終端位置、姿態(tài)的齊次變換或以關節(jié)位置表示的點位賦值。
其格式有兩種:
POINT<變量>[=<變量2>…<變量n>]
或POINT<點>[=<點2>]
例如:
POINTPICK1=PICK2
指令的功能是置變量PICK1的值等于PICK2的值。
又如:
POINT#PARK
是準備定義或修改點PARK。
DPOINT指令:刪除包括點或變量在內的任意數量的位置變量。
HERE指令:此指令使變量或點的值等于當前機器人的位置。
例如:
HEREPLACK
是定義變量PLACK等于當前機器人的位置。
WHERE指令:該指令用來顯示機器人在直角坐標空間中的當前位置和關節(jié)變量值。
BASE指令:用來設置參考坐標系,系統(tǒng)規(guī)定參考系原點在關節(jié)1和2軸線的交點處,方向沿固定軸的方向。
格式:
BASE[<dX>],[<dY>],[<dZ>],[<Z向旋轉方向>]
例如:
BASE300,–50,30
是重新定義基準坐標系的位置,它從初始位置向X方向移300,沿Z的負方向移50,再繞Z軸旋轉了30°。
TOOLI指令:此指令的功能是對工具終端相對工具支承面的位置和姿態(tài)賦值。
2)程序編輯指令
EDIT指令:此指令允許用戶建立或修改一個名字的程序,可以被編輯程序的起始行號。其格式為
EDIT[<程序名>],[<行號>]
如果沒有行號,則從程序的*行開始編輯;如果沒有程序名,則上次zui后編輯的程序被響應。
用EDIT指令進入編輯狀態(tài)后,可以用C、D、E、I、L、P、R、S、T等命令來進一步編輯。如:
C命令:改變編輯的程序,用一個新的程序代替。
D命令:刪除從當前行算起的n行程序,n缺省時為刪除當前行。
E命令:退出編輯返回監(jiān)控模式。
I命令:將當前指令下移一行,以便插入一條指令。
P命令:顯示從當前行往下n行的程序文本內容。
T命令:初始化關節(jié)插值程序示教模式,在該模式下,按一次示教盒上的“RECODE”按鈕就將MOVE指令插到程序中。
3)列表指令
DIRECTORY指令:此指令的功能是顯示存儲器中的全部用戶程序名。
LISTL指令:功能是顯示任意個位置變量值。
LISTP指令:功能是顯示任意個用戶的全部程序。
4)存儲指令
FORMAT指令:執(zhí)行磁盤格式化。
STOREP指令:功能是在的磁盤文件內存儲的程序。
STOREL指令:此指令存儲用戶程序中注明的全部位置變量名和變量值。
LISTF指令:指令的功能是顯示軟盤中當前輸入的文件目錄。
LOADP指令:功能是將文件中的程序送入內存。
LOADL指令:功能是將文件中的位置變量送入系統(tǒng)內存。
DELETE指令:此指令撤銷磁盤中的文件。
COMPRESS指令:只用來壓縮磁盤空間。
ERASE指令:擦除磁內容并初始化。
5)控制程序執(zhí)行指令
ABORT指令:執(zhí)行此指令后緊急停止(緊停)。
DO指令:執(zhí)行單步指令。
EXECUTE指令:此指令執(zhí)行用戶的程序n次,n可以從–32768到32767,當n被省略時,程序執(zhí)行一次。
NEXT指令:此命令控制程序在單步方式下執(zhí)行。
PROCEED指令:此指令實現在某一步暫停、急?;蜻\行錯誤后,自下一步起繼續(xù)執(zhí)行程序。
RETRY指令:指令的功能是在某一步出現運行錯誤后,仍自那一步重新運行程序。
SPEED指令:指令的功能是程序控制下機器人的運動速度,其值從0.01到327.67,一般正常速度為100。
6)系統(tǒng)狀態(tài)控制指令
CALIB指令:此指令校準關節(jié)位置傳感器。
STATUS指令:用來顯示用戶程序的狀態(tài)。
FREE指令:用來顯示當前未使用的存儲容量。
ENABL指令:用于開、關系統(tǒng)硬件。
ZERO指令:此指令的功能是清除全部用戶程序和定義的位置,重新初始化。
DONE:此指令停止監(jiān)控程序,進入硬件調試狀態(tài)。
2.程序指令
1)運動指令
指令包括GO、MOVE、MOVEI、MOVES、DRAW、APPRO、APPROS、DEPART、DRIVE、READY、OPEN、OPENI、CLOSE、CLOSEI、RELAX、GRASP及DELAY等。
這些指令大部分具有使機器人按照特定的方式從一個位姿運動到另一個位姿的功能,部分指令表示機器人手爪的開合。例如:
MOVE#PICK!
表示機器人由關節(jié)插值運動到PICK所定義的位置。“!”表示位置變量已有自己的值。
MOVET<位置>,<手開度>
功能是生成關節(jié)插值運動使機器人到達位置變量所給定的位姿,運動中若手為伺服控制,則手由閉合改變到手開度變量給定的值。
又例如:
OPEN[<手開度>]
表示使機器人手爪打開到的開度。
2)機器人位姿控制指令
這些指令包括RIGHTY、LEFTY、ABOVE、BELOW、FLIP及NOFLIP等。
3)賦值指令
賦值指令有SETI、TYPEI、HERE、SET、SHIFT、TOOL、INVERSE及FRAME。
4)控制指令
控制指令有GOTO、GOSUB、RETURN、IF、IFSIG、REACT、REACTI、IGNORE、SIGNAL、WAIT、PAUSE及STOP。
其中GOTO、GOSUB實現程序的無條件轉移,而IF指令執(zhí)行有條件轉移。IF指令的格式為
IF<整型變量1><關系式><整型變量2><關系式>THEN<標識符>
該指令比較兩個整型變量的值,如果關系狀態(tài)為真,程序轉到標識符的行去執(zhí)行,否則接著下一行執(zhí)行。關系表達式有EQ(等于)、NE(不等于)、LT(小于)、GT(大于)、LE(小于或等于)及GE(大于或等于)。
5)開關量賦值指令
指令包括SPEED、COARSE、FINE、NONULL、NULL、INTOFF及INTON。
6)其他指令
其他指令包括REMARK及TYPE。
SIGLA語言
SIGLA是一種僅用于直角坐標式SIGMA裝配型機器人運動控制時的一種編程語言,是20世紀70年代后期由意大利Olivetti公司研制的一種簡單的非文本語言。
這種語言主要用于裝配任務的控制,它可以把裝配任務劃分為一些裝配子任務,如取旋具,在螺釘上料器上取螺釘A,搬運螺釘A,定位螺釘A,裝入螺釘A,緊固螺釘等。編程時預先編制子程序,然后用子程序調用的方式來完成。
IML語言
IML也是一種著眼于末端執(zhí)行器的動作級語言,由日本九州大學開發(fā)而成。IML語言的特點是編程簡單,能人機對話,適合于現場操作,許多復雜動作可由簡單的指令來實現,易被操作者掌握。
IML用直角坐標系描述機器人和目標物的位置和姿態(tài)。坐標系分兩種,一種是機座坐標系,一種是固連在機器人作業(yè)空間上的工作坐標系。語言以指令形式編程,可以表示機器人的工作點、運動軌跡、目標物的位置及姿態(tài)等信息,從而可以直接編程。往返作業(yè)可不用循環(huán)語句描述,示教的軌跡能定義成指令插到語句中,還能完成某些力的施加。
IML語言的主要指令有:運動指令MOVE、速度指令SPEED、停止指令STOP、手指開合指令OPEN及CLOSE、坐標系定義指令COORD、軌跡定義命令TRAJ、位置定義命令HERE、程序控制指令IF…THEN、FOREACH語句、CASE語句及DEFINE等。
AL語言
一、AL語言概述
AL語言是20世紀70年代中期美國斯坦福大學人工智能研究所開發(fā)研制的一種機器人語言,它是在WAVE的基礎上開發(fā)出來的,也是一種動作級編程語言,但兼有對象級編程語言的某些特征,使用于裝配作業(yè)。它的結構及特點類似于PASCAL語言,可以編譯成機器語言在實時控制機上運行,具有實時編譯語言的結構和特征,如可以同步操作、條件操作等。AL語言設計的原始目的是用于具有傳感器信息反饋的多臺機器人或機械手的并行或協(xié)調控制編程。
運行VA語言的系統(tǒng)硬件環(huán)境包括主、從兩級計算機控制,如圖所示。主機為PDP-10,主機內的管理器負責管理協(xié)調各部分的工作,編譯器負責對AL語言的指令進行編譯并檢查程序,實時接口負責主、從機之間的接口連接,裝載器負責分配程序。從機為PDP-11/45。
主機的功能是對AL語言進行編譯,對機器人的動作進行規(guī)劃;從機接受主機發(fā)出的動作規(guī)劃命令,進行軌跡及關節(jié)參數的實時計算,zui后對機器人發(fā)出具體的動作指令。
二、AL語言的編程格式
(1)程序BEGIN開始,由END結束。
(2)語句與語句之間用分號隔開。
(3)變量先定義說明其類型,后使用。變量名以英文字母開頭,由字母、數字和下畫線組成,字母大、小寫不分。
(4)程序的注釋用大括號括起來。
(5)變量賦值語句中如所賦的內容為表達式,則先計算表達式的值,再把該值賦給等式左邊的變量。
三、AL語言中數據的類型
(1)標量(scalar)——可以是時間、距離、角度及力等,可以進行加、減、乘、除和指數運算,也可以進行三角函數、自然對數和指數換算。
(2)向量(vector)——與數學中的向量類似,可以由若干個量綱相同的標量來構造一個向量。
(3)旋轉(rot)——用來描述一個軸的旋轉或繞某個軸的旋轉以表示姿態(tài)。用ROT變量表示旋轉變量時帶有兩個參數,一個代表旋轉軸的簡單矢量,另一個表示旋轉角度。
(4)坐標系(frame)——用來建立坐標系,變量的值表示物體固連坐標系與空間作業(yè)的參考坐標系之間的相對位置與姿態(tài)。
(5)變換(trans)——用來進行坐標變換,具有旋轉和向量兩個參數,執(zhí)行時先旋轉再平移。
四、AL語言的語句介紹
1.MOVE語句
用來描述機器人手爪的運動,如手爪從一個位置運動到另一個位置。MOVE語句的格式為
MOVE<HAND>TO<目的地>
2.手爪控制語句
OPEN:手爪打開語句。
CLOSE:手爪閉合語句。
語句的格式為
OPEN<HAND>TO<SVAL>
CLOSE<HAND>TO<SVAL>
其中SVAL為開度距離值,在程序中已預先。
3.控制語句
與PASCAL語言類似,控制語句有下面幾種:
IF<條件>THEN<語句>ELSE<語句>
WHILE<條件>DO<語句>
CASE<語句>
DO<語句>UNTIL<條件>
FOR…STEP…UNTIL…
4.AFFIX和UNFIX語句
在裝配過程中經常出現將一個物體粘到另一個物體上或一個物體從另一個物體上剝離的操作。語句AFFIX為兩物體結合的操作,語句AFFIX為兩物體分離的操作。
例如:BEAM_BORE和BEAM分別為兩個坐標系,執(zhí)行語句
AFFIXBEAM_BORETOBEAM
后兩個坐標系就附著在一起了,即一個坐標系的運動也將引起另一個坐標系的同樣運動。然后執(zhí)行下面的語句
UNFIXBEAM_BOREFROMBEAM
兩坐標系的附著關系被解除。
5.力覺的處理
在MOVE語句中使用條件監(jiān)控子語句可實現使用傳感器信息來完成一定的動作。
監(jiān)控子語句如:
ON<條件>DO<動作>
例如:
MOVEBARMTO⊕-0.1*INCHESONFORCE(Z)>10*OUNCESDOSTOP
表示在當前位置沿Z軸向下移動0.1英寸,如果感覺Z軸方向的力超過10盎司,則立即命令機械手停止運動。
VAL語言
一、VAL語言及特點
VAL語言是美國Unimation公司于1979年推出的一種機器人編程語言,主要配置在PUMA和UNIMATION等型機器人上,是一種的動作類描述語言。VAL語言是在BASIC語言的基礎上發(fā)展起來的,所以與BASIC語言的結構很相似。在VAL的基礎上Unimation公司推出了VALⅡ語言。
VAL語言可應用于上下兩級計算機控制的機器人系統(tǒng)。上位機為LSI-11/23,編程在上位機中進行,上位機進行系統(tǒng)的管理;下位機為6503微處理器,主要控制各關節(jié)的實時運動。編程時可以VAL語言和6503匯編語言混合編程。
VAL語言命令簡單、清晰易懂,描述機器人作業(yè)動作及與上位機的通信均較方便,實時功能強;可以在在線和離線兩種狀態(tài)下編程,適用于多種計算機控制的機器人;能夠迅速地計算出不同坐標系下復雜運動的連續(xù)軌跡,能連續(xù)生成機器人的控制信號,可以與操作者交互地在線修改程序和生成程序;VAL語言包含有一些子程序庫,通過調用各種不同的子程序可很快組合成復雜操作控制;能與外部存儲器進行快速數據傳輸以保存程序和數據。
VAL語言系統(tǒng)包括文本編輯、系統(tǒng)命令和編程語言三個部分。
在文本編輯狀態(tài)下可以通過鍵盤輸入文本程序,也可通過示教盒在示教方式下輸入程序。在輸入過程中可修改、編輯、生成程序,zui后保存到存儲器中。在此狀態(tài)下也可以調用已存在的程序。
系統(tǒng)命令包括位置定義、程序和數據列表、程序和數據存儲、系統(tǒng)狀態(tài)設置和控制、系統(tǒng)開關控制、系統(tǒng)診斷和修改。
編程語言把一條條程序語句轉換執(zhí)行。
二、VAL語言的指令
VAL語言包括監(jiān)控指令和程序指令兩種。其中監(jiān)控指令有六類,分別為位置及姿態(tài)定義指令、程序編輯指令、列表指令、存儲指令、控制程序執(zhí)行指令和系統(tǒng)狀態(tài)控制指令。各類指令的具體形式及功能如下:
1.監(jiān)控指令
1)位置及姿態(tài)定義指令
POINT指令:執(zhí)行終端位置、姿態(tài)的齊次變換或以關節(jié)位置表示的點位賦值。
其格式有兩種:
POINT<變量>[=<變量2>…<變量n>]
或POINT<點>[=<點2>]
例如:
POINTPICK1=PICK2
指令的功能是置變量PICK1的值等于PICK2的值。
又如:
POINT#PARK
是準備定義或修改點PARK。
DPOINT指令:刪除包括點或變量在內的任意數量的位置變量。
HERE指令:此指令使變量或點的值等于當前機器人的位置。
例如:
HEREPLACK
是定義變量PLACK等于當前機器人的位置。
WHERE指令:該指令用來顯示機器人在直角坐標空間中的當前位置和關節(jié)變量值。
BASE指令:用來設置參考坐標系,系統(tǒng)規(guī)定參考系原點在關節(jié)1和2軸線的交點處,方向沿固定軸的方向。
格式:
BASE[<dX>],[<dY>],[<dZ>],[<Z向旋轉方向>]
例如:
BASE300,–50,30
是重新定義基準坐標系的位置,它從初始位置向X方向移300,沿Z的負方向移50,再繞Z軸旋轉了30°。
TOOLI指令:此指令的功能是對工具終端相對工具支承面的位置和姿態(tài)賦值。
2)程序編輯指令
EDIT指令:此指令允許用戶建立或修改一個名字的程序,可以被編輯程序的起始行號。其格式為
EDIT[<程序名>],[<行號>]
如果沒有行號,則從程序的*行開始編輯;如果沒有程序名,則上次zui后編輯的程序被響應。
用EDIT指令進入編輯狀態(tài)后,可以用C、D、E、I、L、P、R、S、T等命令來進一步編輯。如:
C命令:改變編輯的程序,用一個新的程序代替。
D命令:刪除從當前行算起的n行程序,n缺省時為刪除當前行。
E命令:退出編輯返回監(jiān)控模式。
I命令:將當前指令下移一行,以便插入一條指令。
P命令:顯示從當前行往下n行的程序文本內容。
T命令:初始化關節(jié)插值程序示教模式,在該模式下,按一次示教盒上的“RECODE”按鈕就將MOVE指令插到程序中。
3)列表指令
DIRECTORY指令:此指令的功能是顯示存儲器中的全部用戶程序名。
LISTL指令:功能是顯示任意個位置變量值。
LISTP指令:功能是顯示任意個用戶的全部程序。
4)存儲指令
FORMAT指令:執(zhí)行磁盤格式化。
STOREP指令:功能是在的磁盤文件內存儲的程序。
STOREL指令:此指令存儲用戶程序中注明的全部位置變量名和變量值。
LISTF指令:指令的功能是顯示軟盤中當前輸入的文件目錄。
LOADP指令:功能是將文件中的程序送入內存。
LOADL指令:功能是將文件中的位置變量送入系統(tǒng)內存。
DELETE指令:此指令撤銷磁盤中的文件。
COMPRESS指令:只用來壓縮磁盤空間。
ERASE指令:擦除磁內容并初始化。
5)控制程序執(zhí)行指令
ABORT指令:執(zhí)行此指令后緊急停止(緊停)。
DO指令:執(zhí)行單步指令。
EXECUTE指令:此指令執(zhí)行用戶的程序n次,n可以從–32768到32767,當n被省略時,程序執(zhí)行一次。
NEXT指令:此命令控制程序在單步方式下執(zhí)行。
PROCEED指令:此指令實現在某一步暫停、急?;蜻\行錯誤后,自下一步起繼續(xù)執(zhí)行程序。
RETRY指令:指令的功能是在某一步出現運行錯誤后,仍自那一步重新運行程序。
SPEED指令:指令的功能是程序控制下機器人的運動速度,其值從0.01到327.67,一般正常速度為100。
6)系統(tǒng)狀態(tài)控制指令
CALIB指令:此指令校準關節(jié)位置傳感器。
STATUS指令:用來顯示用戶程序的狀態(tài)。
FREE指令:用來顯示當前未使用的存儲容量。
ENABL指令:用于開、關系統(tǒng)硬件。
ZERO指令:此指令的功能是清除全部用戶程序和定義的位置,重新初始化。
DONE:此指令停止監(jiān)控程序,進入硬件調試狀態(tài)。
2.程序指令
1)運動指令
指令包括GO、MOVE、MOVEI、MOVES、DRAW、APPRO、APPROS、DEPART、DRIVE、READY、OPEN、OPENI、CLOSE、CLOSEI、RELAX、GRASP及DELAY等。
這些指令大部分具有使機器人按照特定的方式從一個位姿運動到另一個位姿的功能,部分指令表示機器人手爪的開合。例如:
MOVE#PICK!
表示機器人由關節(jié)插值運動到PICK所定義的位置。“!”表示位置變量已有自己的值。
MOVET<位置>,<手開度>
功能是生成關節(jié)插值運動使機器人到達位置變量所給定的位姿,運動中若手為伺服控制,則手由閉合改變到手開度變量給定的值。
又例如:
OPEN[<手開度>]
表示使機器人手爪打開到的開度。
2)機器人位姿控制指令
這些指令包括RIGHTY、LEFTY、ABOVE、BELOW、FLIP及NOFLIP等。
3)賦值指令
賦值指令有SETI、TYPEI、HERE、SET、SHIFT、TOOL、INVERSE及FRAME。
4)控制指令
控制指令有GOTO、GOSUB、RETURN、IF、IFSIG、REACT、REACTI、IGNORE、SIGNAL、WAIT、PAUSE及STOP。
其中GOTO、GOSUB實現程序的無條件轉移,而IF指令執(zhí)行有條件轉移。IF指令的格式為
IF<整型變量1><關系式><整型變量2><關系式>THEN<標識符>
該指令比較兩個整型變量的值,如果關系狀態(tài)為真,程序轉到標識符的行去執(zhí)行,否則接著下一行執(zhí)行。關系表達式有EQ(等于)、NE(不等于)、LT(小于)、GT(大于)、LE(小于或等于)及GE(大于或等于)。
5)開關量賦值指令
指令包括SPEED、COARSE、FINE、NONULL、NULL、INTOFF及INTON。
6)其他指令
其他指令包括REMARK及TYPE。
SIGLA語言
SIGLA是一種僅用于直角坐標式SIGMA裝配型機器人運動控制時的一種編程語言,是20世紀70年代后期由意大利Olivetti公司研制的一種簡單的非文本語言。
這種語言主要用于裝配任務的控制,它可以把裝配任務劃分為一些裝配子任務,如取旋具,在螺釘上料器上取螺釘A,搬運螺釘A,定位螺釘A,裝入螺釘A,緊固螺釘等。編程時預先編制子程序,然后用子程序調用的方式來完成。
IML語言
IML也是一種著眼于末端執(zhí)行器的動作級語言,由日本九州大學開發(fā)而成。IML語言的特點是編程簡單,能人機對話,適合于現場操作,許多復雜動作可由簡單的指令來實現,易被操作者掌握。
IML用直角坐標系描述機器人和目標物的位置和姿態(tài)。坐標系分兩種,一種是機座坐標系,一種是固連在機器人作業(yè)空間上的工作坐標系。語言以指令形式編程,可以表示機器人的工作點、運動軌跡、目標物的位置及姿態(tài)等信息,從而可以直接編程。往返作業(yè)可不用循環(huán)語句描述,示教的軌跡能定義成指令插到語句中,還能完成某些力的施加。
IML語言的主要指令有:運動指令MOVE、速度指令SPEED、停止指令STOP、手指開合指令OPEN及CLOSE、坐標系定義指令COORD、軌跡定義命令TRAJ、位置定義命令HERE、程序控制指令IF…THEN、FOREACH語句、CASE語句及DEFINE等。
AL語言
一、AL語言概述
AL語言是20世紀70年代中期美國斯坦福大學人工智能研究所開發(fā)研制的一種機器人語言,它是在WAVE的基礎上開發(fā)出來的,也是一種動作級編程語言,但兼有對象級編程語言的某些特征,使用于裝配作業(yè)。它的結構及特點類似于PASCAL語言,可以編譯成機器語言在實時控制機上運行,具有實時編譯語言的結構和特征,如可以同步操作、條件操作等。AL語言設計的原始目的是用于具有傳感器信息反饋的多臺機器人或機械手的并行或協(xié)調控制編程。
運行VA語言的系統(tǒng)硬件環(huán)境包括主、從兩級計算機控制,如圖所示。主機為PDP-10,主機內的管理器負責管理協(xié)調各部分的工作,編譯器負責對AL語言的指令進行編譯并檢查程序,實時接口負責主、從機之間的接口連接,裝載器負責分配程序。從機為PDP-11/45。
主機的功能是對AL語言進行編譯,對機器人的動作進行規(guī)劃;從機接受主機發(fā)出的動作規(guī)劃命令,進行軌跡及關節(jié)參數的實時計算,zui后對機器人發(fā)出具體的動作指令。
二、AL語言的編程格式
(1)程序BEGIN開始,由END結束。
(2)語句與語句之間用分號隔開。
(3)變量先定義說明其類型,后使用。變量名以英文字母開頭,由字母、數字和下畫線組成,字母大、小寫不分。
(4)程序的注釋用大括號括起來。
(5)變量賦值語句中如所賦的內容為表達式,則先計算表達式的值,再把該值賦給等式左邊的變量。
三、AL語言中數據的類型
(1)標量(scalar)——可以是時間、距離、角度及力等,可以進行加、減、乘、除和指數運算,也可以進行三角函數、自然對數和指數換算。
(2)向量(vector)——與數學中的向量類似,可以由若干個量綱相同的標量來構造一個向量。
(3)旋轉(rot)——用來描述一個軸的旋轉或繞某個軸的旋轉以表示姿態(tài)。用ROT變量表示旋轉變量時帶有兩個參數,一個代表旋轉軸的簡單矢量,另一個表示旋轉角度。
(4)坐標系(frame)——用來建立坐標系,變量的值表示物體固連坐標系與空間作業(yè)的參考坐標系之間的相對位置與姿態(tài)。
(5)變換(trans)——用來進行坐標變換,具有旋轉和向量兩個參數,執(zhí)行時先旋轉再平移。
四、AL語言的語句介紹
1.MOVE語句
用來描述機器人手爪的運動,如手爪從一個位置運動到另一個位置。MOVE語句的格式為
MOVE<HAND>TO<目的地>
2.手爪控制語句
OPEN:手爪打開語句。
CLOSE:手爪閉合語句。
語句的格式為
OPEN<HAND>TO<SVAL>
CLOSE<HAND>TO<SVAL>
其中SVAL為開度距離值,在程序中已預先。
3.控制語句
與PASCAL語言類似,控制語句有下面幾種:
IF<條件>THEN<語句>ELSE<語句>
WHILE<條件>DO<語句>
CASE<語句>
DO<語句>UNTIL<條件>
FOR…STEP…UNTIL…
4.AFFIX和UNFIX語句
在裝配過程中經常出現將一個物體粘到另一個物體上或一個物體從另一個物體上剝離的操作。語句AFFIX為兩物體結合的操作,語句AFFIX為兩物體分離的操作。
例如:BEAM_BORE和BEAM分別為兩個坐標系,執(zhí)行語句
AFFIXBEAM_BORETOBEAM
后兩個坐標系就附著在一起了,即一個坐標系的運動也將引起另一個坐標系的同樣運動。然后執(zhí)行下面的語句
UNFIXBEAM_BOREFROMBEAM
兩坐標系的附著關系被解除。
5.力覺的處理
在MOVE語句中使用條件監(jiān)控子語句可實現使用傳感器信息來完成一定的動作。
監(jiān)控子語句如:
ON<條件>DO<動作>
例如:
MOVEBARMTO⊕-0.1*INCHESONFORCE(Z)>10*OUNCESDOSTOP
表示在當前位置沿Z軸向下移動0.1英寸,如果感覺Z軸方向的力超過10盎司,則立即命令機械手停止運動。
全年征稿/資訊合作
聯(lián)系郵箱:1271141964@qq.com
免責聲明
- 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://towegas.com。違反者本網將追究相關法律責任。
- 企業(yè)發(fā)布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯(lián)系,否則視為放棄相關權利。
2025第十一屆中國國際機電產品交易會 暨先進制造業(yè)博覽會
展會城市:合肥市展會時間:2025-09-20