機(jī)器人運(yùn)動(dòng)和作業(yè)的指令都是由程序進(jìn)行控制,常見(jiàn)的編制方法有兩種,示教編程方法和離線(xiàn)編程方法。其中示教編程方法包括示教、編輯和軌跡再現(xiàn),可以通過(guò)示教盒示教和導(dǎo)引式示教兩種途徑實(shí)現(xiàn)。由于示教方式實(shí)用性強(qiáng),操作簡(jiǎn)便,因此大部分機(jī)器人都采用這種方式。離線(xiàn)編程方法是利用計(jì)算機(jī)圖形學(xué)成果,借助圖形處理工具建立幾何模型,通過(guò)一些規(guī)劃算法來(lái)獲取作業(yè)規(guī)劃軌跡。與示教編程不同,離線(xiàn)編程不與機(jī)器人發(fā)生關(guān)系,在編程過(guò)程中機(jī)器人可以照常工作。工業(yè)上離線(xiàn)工具只作為一種輔助手段,未得到廣泛的應(yīng)用。
用EDIT指令進(jìn)入編輯狀態(tài)后,可以用C、D、E、I、L、P、R、S、T等命令來(lái)進(jìn)一步編輯。如:
C命令:改變編輯的程序,用一個(gè)新的程序代替。
D命令:刪除從當(dāng)前行算起的n行程序,n缺省時(shí)為刪除當(dāng)前行。
E命令:退出編輯返回監(jiān)控模式。
I命令:將當(dāng)前指令下移一行,以便插入一條指令。
P命令:顯示從當(dāng)前行往下n行的程序文本內(nèi)容。
T命令:初始化關(guān)節(jié)插值程序示教模式,在該模式下,按一次示教盒上的“RECODE”按鈕就將MOVE指令插到程序中。
3)列表指令
DIRECTORY指令:此指令的功能是顯示存儲(chǔ)器中的全部用戶(hù)程序名。
LISTL指令:功能是顯示任意個(gè)位置變量值。
LISTP指令:功能是顯示任意個(gè)用戶(hù)的全部程序。
4)存儲(chǔ)指令
FORMAT指令:執(zhí)行磁盤(pán)格式化。
STOREP指令:功能是在指定的磁盤(pán)文件內(nèi)存儲(chǔ)指定的程序。
STOREL指令:此指令存儲(chǔ)用戶(hù)程序中注明的全部位置變量名和變量值。
LISTF指令:指令的功能是顯示軟盤(pán)中當(dāng)前輸入的文件目錄。
LOADP指令:功能是將文件中的程序送入內(nèi)存。
LOADL指令:功能是將文件中指定的位置變量送入系統(tǒng)內(nèi)存。
DELETE指令:此指令撤銷(xiāo)磁盤(pán)中指定的文件。
COMPRESS指令:只用來(lái)壓縮磁盤(pán)空間。
ERASE指令:擦除磁內(nèi)容并初始化。
5)控制程序執(zhí)行指令
ABORT指令:執(zhí)行此指令后緊急停止(緊停)。
DO指令:執(zhí)行單步指令。
EXECUTE指令:此指令執(zhí)行用戶(hù)指定的程序n次,n可以從–32768到32767,當(dāng)n被省略時(shí),程序執(zhí)行一次。
NEXT指令:此命令控制程序在單步方式下執(zhí)行。
PROCEED指令:此指令實(shí)現(xiàn)在某一步暫停、急停或運(yùn)行錯(cuò)誤后,自下一步起繼續(xù)執(zhí)行程序。
RETRY指令:指令的功能是在某一步出現(xiàn)運(yùn)行錯(cuò)誤后,仍自那一步重新運(yùn)行程序。
SPEED指令:指令的功能是指定程序控制下機(jī)器人的運(yùn)動(dòng)速度,其值從0.01到327.67,一般正常速度為100。
6)系統(tǒng)狀態(tài)控制指令
CALIB指令:此指令校準(zhǔn)關(guān)節(jié)位置傳感器。
STATUS指令:用來(lái)顯示用戶(hù)程序的狀態(tài)。
FREE指令:用來(lái)顯示當(dāng)前未使用的存儲(chǔ)容量。
ENABL指令:用于開(kāi)、關(guān)系統(tǒng)硬件。
ZERO指令:此指令的功能是清除全部用戶(hù)程序和定義的位置,重新初始化。
DONE:此指令停止監(jiān)控程序,進(jìn)入硬件調(diào)試狀態(tài)。
2.程序指令
1)運(yùn)動(dòng)指令
指令包括GO、MOVE、MOVEI、MOVES、DRAW、APPRO、APPROS、DEPART、DRIVE、READY、OPEN、OPENI、CLOSE、CLOSEI、RELAX、GRASP及DELAY等。
這些指令大部分具有使機(jī)器人按照特定的方式從一個(gè)位姿運(yùn)動(dòng)到另一個(gè)位姿的功能,部分指令表示機(jī)器人手爪的開(kāi)合。例如:
MOVE#PICK!
表示機(jī)器人由關(guān)節(jié)插值運(yùn)動(dòng)到精確PICK所定義的位置。“!”表示位置變量已有自己的值。
MOVET<位置>,<手開(kāi)度>
功能是生成關(guān)節(jié)插值運(yùn)動(dòng)使機(jī)器人到達(dá)位置變量所給定的位姿,運(yùn)動(dòng)中若手為伺服控制,則手由閉合改變到手開(kāi)度變量給定的值。
又例如:
OPEN[<手開(kāi)度>]
表示使機(jī)器人手爪打開(kāi)到指定的開(kāi)度。
2)機(jī)器人位姿控制指令
這些指令包括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實(shí)現(xiàn)程序的無(wú)條件轉(zhuǎn)移,而IF指令執(zhí)行有條件轉(zhuǎn)移。IF指令的格式為
IF<整型變量1><關(guān)系式><整型變量2><關(guān)系式>THEN<標(biāo)識(shí)符>
該指令比較兩個(gè)整型變量的值,如果關(guān)系狀態(tài)為真,程序轉(zhuǎn)到標(biāo)識(shí)符指定的行去執(zhí)行,否則接著下一行執(zhí)行。關(guān)系表達(dá)式有EQ(等于)、NE(不等于)、LT(小于)、GT(大于)、LE(小于或等于)及GE(大于或等于)。
5)開(kāi)關(guān)量賦值指令
指令包括SPEED、COARSE、FINE、NONULL、NULL、INTOFF及INTON。
6)其他指令
其他指令包括REMARK及TYPE。
SIGLA語(yǔ)言
SIGLA是一種僅用于直角坐標(biāo)式SIGMA裝配型機(jī)器人運(yùn)動(dòng)控制時(shí)的一種編程語(yǔ)言,是20世紀(jì)70年代后期由意大利Olivetti公司研制的一種簡(jiǎn)單的非文本語(yǔ)言。
這種語(yǔ)言主要用于裝配任務(wù)的控制,它可以把裝配任務(wù)劃分為一些裝配子任務(wù),如取旋具,在螺釘上料器上取螺釘A,搬運(yùn)螺釘A,定位螺釘A,裝入螺釘A,緊固螺釘?shù)?。編程時(shí)預(yù)先編制子程序,然后用子程序調(diào)用的方式來(lái)完成。
IML語(yǔ)言
IML也是一種著眼于末端執(zhí)行器的動(dòng)作級(jí)語(yǔ)言,由日本九州大學(xué)開(kāi)發(fā)而成。IML語(yǔ)言的特點(diǎn)是編程簡(jiǎn)單,能人機(jī)對(duì)話(huà),適合于現(xiàn)場(chǎng)操作,許多復(fù)雜動(dòng)作可由簡(jiǎn)單的指令來(lái)實(shí)現(xiàn),易被操作者掌握。
IML用直角坐標(biāo)系描述機(jī)器人和目標(biāo)物的位置和姿態(tài)。坐標(biāo)系分兩種,一種是機(jī)座坐標(biāo)系,一種是固連在機(jī)器人作業(yè)空間上的工作坐標(biāo)系。語(yǔ)言以指令形式編程,可以表示機(jī)器人的工作點(diǎn)、運(yùn)動(dòng)軌跡、目標(biāo)物的位置及姿態(tài)等信息,從而可以直接編程。往返作業(yè)可不用循環(huán)語(yǔ)句描述,示教的軌跡能定義成指令插到語(yǔ)句中,還能完成某些力的施加。
IML語(yǔ)言的主要指令有:運(yùn)動(dòng)指令MOVE、速度指令SPEED、停止指令STOP、手指開(kāi)合指令OPEN及CLOSE、坐標(biāo)系定義指令COORD、軌跡定義命令TRAJ、位置定義命令HERE、程序控制指令I(lǐng)F…THEN、FOREACH語(yǔ)句、CASE語(yǔ)句及DEFINE等。
任務(wù)程序員能夠指揮機(jī)器人系統(tǒng)去完成的分立單一動(dòng)作就是基本程序功能。例如,把工具移動(dòng)至某一指定位置,操作末端執(zhí)行裝置,或者從傳感器或手調(diào)輸入裝置讀個(gè)數(shù)等。機(jī)器人工作站的系統(tǒng)程序員,他的責(zé)任是選用一套對(duì)作業(yè)程序員工作最有用的基本功能。這些基本功能包括運(yùn)算、決策、通訊、機(jī)械手運(yùn)動(dòng)、工具指令以及傳感器數(shù)據(jù)處理等。許多正在運(yùn)行的機(jī)器人系統(tǒng),只提供機(jī)械手運(yùn)動(dòng)和工具指令以及某些簡(jiǎn)單的傳感數(shù)據(jù)處理功能。
1.運(yùn)算
在作業(yè)過(guò)程中執(zhí)行的規(guī)定運(yùn)算能力是機(jī)器人控制系統(tǒng)最重要的能力之一。
如果機(jī)器人未裝有任何傳感器,那么就可能不需要對(duì)機(jī)器人程序規(guī)定什么運(yùn)算。沒(méi)有傳感器的機(jī)器人只不過(guò)是一臺(tái)適于編程的數(shù)控機(jī)器。
裝有傳感器的機(jī)器人所進(jìn)行的一些最有用的運(yùn)算是解析幾何計(jì)算。這些運(yùn)算結(jié)果能使機(jī)器人自行做出決定,在下一步把工具或夾手置于何處。
2.決策
機(jī)器人系統(tǒng)能夠根據(jù)傳感器輸入信息做出決策,而不必執(zhí)行任何運(yùn)算。按照未處理的傳感器數(shù)據(jù)計(jì)算得到的結(jié)果,是做出下一步該干什么這類(lèi)決策的基礎(chǔ)。這種決策能力使機(jī)器人控制系統(tǒng)的功能更強(qiáng)有力。
3.通訊
機(jī)器人系統(tǒng)與操作人員之間的通訊能力,允許機(jī)器人要求操作人員提供信息、告訴操作者下一步該干什么,以及讓操作者知道機(jī)器人打算干什么。人和機(jī)器能夠通過(guò)許多不同方式進(jìn)行通訊。
4.機(jī)械手運(yùn)動(dòng)
可用許多不同方法來(lái)規(guī)定機(jī)械手的運(yùn)動(dòng)。最簡(jiǎn)單的方法是向各關(guān)節(jié)伺服裝置提供一組關(guān)節(jié)位置,然后等待伺服裝置到達(dá)這些規(guī)定位置。比較復(fù)雜的方法是在機(jī)械手工作空間內(nèi)插入一些中間位置。這種程序使所有關(guān)節(jié)同時(shí)開(kāi)始運(yùn)動(dòng)和同時(shí)停止運(yùn)動(dòng)。用與機(jī)械手的形狀無(wú)關(guān)的坐標(biāo)來(lái)表示工具位置是更先進(jìn)的方法,而且(除X-Y-Z機(jī)械手外)需要用一臺(tái)計(jì)算機(jī)對(duì)解答進(jìn)行計(jì)算。在笛卡兒空間內(nèi)插入工具位置能使工具端點(diǎn)沿著路徑跟隨軌跡平滑運(yùn)動(dòng)。引入一個(gè)參考坐標(biāo)系,用以描述工具位置,然后讓該坐標(biāo)系運(yùn)動(dòng)。這對(duì)許多情況是很方便的。
5.工具指令
一個(gè)工具控制指令通常是由閉合某個(gè)開(kāi)關(guān)或繼電器而開(kāi)始觸發(fā)的,而繼電器又可能把電源接通或斷開(kāi),以直接控制工具運(yùn)動(dòng),或者送出一個(gè)小功率信號(hào)給電子控制器,讓后者去控制工具。直接控制是最簡(jiǎn)單的方法,而且對(duì)控制系統(tǒng)的要求也較少??梢杂脗鞲衅鱽?lái)感受工具運(yùn)動(dòng)及其功能的執(zhí)行情況。
6.傳感數(shù)據(jù)處理
用于機(jī)械手控制的通用計(jì)算機(jī)只有與傳感器連接起來(lái),才能發(fā)揮其全部效用。我們已經(jīng)知道,傳感器具有多種形式。此外,我們按照功能,把傳感器概括如下:
?。?)內(nèi)體感受器用于感受機(jī)械手或其它由計(jì)算機(jī)控制的關(guān)節(jié)式機(jī)構(gòu)的位置。
?。?)觸覺(jué)傳感器用于感受工具與物體(工件)間的實(shí)際接觸。
(3)接近度或距離傳感器用于感受工具至工件或障礙物的距離。
(4)力和力矩傳感器用于感受裝配(如把銷(xiāo)釘插入孔內(nèi))時(shí)所產(chǎn)生的力和力矩。
?。?)視覺(jué)傳感器用于“看見(jiàn)”工作空間內(nèi)的物體,確定物體的位置或(和)識(shí)別它們的形狀等。傳感數(shù)據(jù)處理是許多機(jī)器人程序編制的十分重要而又復(fù)雜的組成部分。
內(nèi)容來(lái)自百科網(wǎng)