當(dāng)前位置:首頁 > 百科知識 > 機(jī)器人 > 正文

機(jī)器人編程

機(jī)器人編程是為使機(jī)器人完成某種任務(wù)而設(shè)置的動作順序描述。

  機(jī)器人運(yùn)動和作業(yè)的指令都是由程序進(jìn)行控制,常見的編制方法有兩種,示教編程方法和離線編程方法。其中示教編程方法包括示教、編輯和軌跡再現(xiàn),可以通過示教盒示教和導(dǎo)引式示教兩種途徑實(shí)現(xiàn)。由于示教方式實(shí)用性強(qiáng),操作簡便,因此大部分機(jī)器人都采用這種方式。離線編程方法是利用計算機(jī)圖形學(xué)成果,借助圖形處理工具建立幾何模型,通過一些規(guī)劃算法來獲取作業(yè)規(guī)劃軌跡。與示教編程不同,離線編程不與機(jī)器人發(fā)生關(guān)系,在編程過程中機(jī)器人可以照常工作。工業(yè)上離線工具只作為一種輔助手段,未得到廣泛的應(yīng)用。

  用EDIT指令進(jìn)入編輯狀態(tài)后,可以用C、D、E、I、L、P、R、S、T等命令來進(jìn)一步編輯。如:

  C命令:改變編輯的程序,用一個新的程序代替。

  D命令:刪除從當(dāng)前行算起的n行程序,n缺省時為刪除當(dāng)前行。

  E命令:退出編輯返回監(jiān)控模式。

  I命令:將當(dāng)前指令下移一行,以便插入一條指令。

  P命令:顯示從當(dāng)前行往下n行的程序文本內(nèi)容。

  T命令:初始化關(guān)節(jié)插值程序示教模式,在該模式下,按一次示教盒上的“RECODE”按鈕就將MOVE指令插到程序中。

  3)列表指令

  DIRECTORY指令:此指令的功能是顯示存儲器中的全部用戶程序名。

  LISTL指令:功能是顯示任意個位置變量值。

  LISTP指令:功能是顯示任意個用戶的全部程序。

  4)存儲指令

  FORMAT指令:執(zhí)行磁盤格式化。

  STOREP指令:功能是在指定的磁盤文件內(nèi)存儲指定的程序。

  STOREL指令:此指令存儲用戶程序中注明的全部位置變量名和變量值。

  LISTF指令:指令的功能是顯示軟盤中當(dāng)前輸入的文件目錄。

  LOADP指令:功能是將文件中的程序送入內(nèi)存。

  LOADL指令:功能是將文件中指定的位置變量送入系統(tǒng)內(nèi)存。

  DELETE指令:此指令撤銷磁盤中指定的文件。

  COMPRESS指令:只用來壓縮磁盤空間。

  ERASE指令:擦除磁內(nèi)容并初始化。

  5)控制程序執(zhí)行指令

  ABORT指令:執(zhí)行此指令后緊急停止(緊停)。

  DO指令:執(zhí)行單步指令。

  EXECUTE指令:此指令執(zhí)行用戶指定的程序n次,n可以從–32768到32767,當(dāng)n被省略時,程序執(zhí)行一次。

  NEXT指令:此命令控制程序在單步方式下執(zhí)行。

  PROCEED指令:此指令實(shí)現(xiàn)在某一步暫停、急停或運(yùn)行錯誤后,自下一步起繼續(xù)執(zhí)行程序。

  RETRY指令:指令的功能是在某一步出現(xiàn)運(yùn)行錯誤后,仍自那一步重新運(yùn)行程序。

  SPEED指令:指令的功能是指定程序控制下機(jī)器人的運(yùn)動速度,其值從0.01到327.67,一般正常速度為100。

  6)系統(tǒng)狀態(tài)控制指令

  CALIB指令:此指令校準(zhǔn)關(guān)節(jié)位置傳感器。

  STATUS指令:用來顯示用戶程序的狀態(tài)。

  FREE指令:用來顯示當(dāng)前未使用的存儲容量。

  ENABL指令:用于開、關(guān)系統(tǒng)硬件。

  ZERO指令:此指令的功能是清除全部用戶程序和定義的位置,重新初始化。

  DONE:此指令停止監(jiān)控程序,進(jìn)入硬件調(diào)試狀態(tài)。

  2.程序指令

  1)運(yùn)動指令

  指令包括GO、MOVE、MOVEI、MOVES、DRAW、APPRO、APPROS、DEPART、DRIVE、READY、OPEN、OPENI、CLOSE、CLOSEI、RELAX、GRASP及DELAY等。

  這些指令大部分具有使機(jī)器人按照特定的方式從一個位姿運(yùn)動到另一個位姿的功能,部分指令表示機(jī)器人手爪的開合。例如:

  MOVE#PICK!

  表示機(jī)器人由關(guān)節(jié)插值運(yùn)動到精確PICK所定義的位置。“!”表示位置變量已有自己的值。

  MOVET<位置>,<手開度>

  功能是生成關(guān)節(jié)插值運(yùn)動使機(jī)器人到達(dá)位置變量所給定的位姿,運(yùn)動中若手為伺服控制,則手由閉合改變到手開度變量給定的值。

  又例如:

  OPEN[<手開度>]

  表示使機(jī)器人手爪打開到指定的開度。

  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)程序的無條件轉(zhuǎn)移,而IF指令執(zhí)行有條件轉(zhuǎn)移。IF指令的格式為

  IF<整型變量1><關(guān)系式><整型變量2><關(guān)系式>THEN<標(biāo)識符>

  該指令比較兩個整型變量的值,如果關(guān)系狀態(tài)為真,程序轉(zhuǎn)到標(biāo)識符指定的行去執(zhí)行,否則接著下一行執(zhí)行。關(guān)系表達(dá)式有EQ(等于)、NE(不等于)、LT(小于)、GT(大于)、LE(小于或等于)及GE(大于或等于)。

  5)開關(guān)量賦值指令

  指令包括SPEED、COARSE、FINE、NONULL、NULL、INTOFF及INTON。

  6)其他指令

  其他指令包括REMARK及TYPE。

  SIGLA語言

  SIGLA是一種僅用于直角坐標(biāo)式SIGMA裝配型機(jī)器人運(yùn)動控制時的一種編程語言,是20世紀(jì)70年代后期由意大利Olivetti公司研制的一種簡單的非文本語言。

  這種語言主要用于裝配任務(wù)的控制,它可以把裝配任務(wù)劃分為一些裝配子任務(wù),如取旋具,在螺釘上料器上取螺釘A,搬運(yùn)螺釘A,定位螺釘A,裝入螺釘A,緊固螺釘?shù)取>幊虝r預(yù)先編制子程序,然后用子程序調(diào)用的方式來完成。

  IML語言

  IML也是一種著眼于末端執(zhí)行器的動作級語言,由日本九州大學(xué)開發(fā)而成。IML語言的特點(diǎn)是編程簡單,能人機(jī)對話,適合于現(xiàn)場操作,許多復(fù)雜動作可由簡單的指令來實(shí)現(xiàn),易被操作者掌握。

  IML用直角坐標(biāo)系描述機(jī)器人和目標(biāo)物的位置和姿態(tài)。坐標(biāo)系分兩種,一種是機(jī)座坐標(biāo)系,一種是固連在機(jī)器人作業(yè)空間上的工作坐標(biāo)系。語言以指令形式編程,可以表示機(jī)器人的工作點(diǎn)、運(yùn)動軌跡、目標(biāo)物的位置及姿態(tài)等信息,從而可以直接編程。往返作業(yè)可不用循環(huán)語句描述,示教的軌跡能定義成指令插到語句中,還能完成某些力的施加。

  IML語言的主要指令有:運(yùn)動指令MOVE、速度指令SPEED、停止指令STOP、手指開合指令OPEN及CLOSE、坐標(biāo)系定義指令COORD、軌跡定義命令TRAJ、位置定義命令HERE、程序控制指令I(lǐng)F…THEN、FOREACH語句、CASE語句及DEFINE等。

  任務(wù)程序員能夠指揮機(jī)器人系統(tǒng)去完成的分立單一動作就是基本程序功能。例如,把工具移動至某一指定位置,操作末端執(zhí)行裝置,或者從傳感器或手調(diào)輸入裝置讀個數(shù)等。機(jī)器人工作站的系統(tǒng)程序員,他的責(zé)任是選用一套對作業(yè)程序員工作最有用的基本功能。這些基本功能包括運(yùn)算、決策、通訊、機(jī)械手運(yùn)動、工具指令以及傳感器數(shù)據(jù)處理等。許多正在運(yùn)行的機(jī)器人系統(tǒng),只提供機(jī)械手運(yùn)動和工具指令以及某些簡單的傳感數(shù)據(jù)處理功能。

  1.運(yùn)算

  在作業(yè)過程中執(zhí)行的規(guī)定運(yùn)算能力是機(jī)器人控制系統(tǒng)最重要的能力之一。

  如果機(jī)器人未裝有任何傳感器,那么就可能不需要對機(jī)器人程序規(guī)定什么運(yùn)算。沒有傳感器的機(jī)器人只不過是一臺適于編程的數(shù)控機(jī)器。

  裝有傳感器的機(jī)器人所進(jìn)行的一些最有用的運(yùn)算是解析幾何計算。這些運(yùn)算結(jié)果能使機(jī)器人自行做出決定,在下一步把工具或夾手置于何處。

  2.決策

  機(jī)器人系統(tǒng)能夠根據(jù)傳感器輸入信息做出決策,而不必執(zhí)行任何運(yùn)算。按照未處理的傳感器數(shù)據(jù)計算得到的結(jié)果,是做出下一步該干什么這類決策的基礎(chǔ)。這種決策能力使機(jī)器人控制系統(tǒng)的功能更強(qiáng)有力。

  3.通訊

  機(jī)器人系統(tǒng)與操作人員之間的通訊能力,允許機(jī)器人要求操作人員提供信息、告訴操作者下一步該干什么,以及讓操作者知道機(jī)器人打算干什么。人和機(jī)器能夠通過許多不同方式進(jìn)行通訊。

  4.機(jī)械手運(yùn)動

  可用許多不同方法來規(guī)定機(jī)械手的運(yùn)動。最簡單的方法是向各關(guān)節(jié)伺服裝置提供一組關(guān)節(jié)位置,然后等待伺服裝置到達(dá)這些規(guī)定位置。比較復(fù)雜的方法是在機(jī)械手工作空間內(nèi)插入一些中間位置。這種程序使所有關(guān)節(jié)同時開始運(yùn)動和同時停止運(yùn)動。用與機(jī)械手的形狀無關(guān)的坐標(biāo)來表示工具位置是更先進(jìn)的方法,而且(除X-Y-Z機(jī)械手外)需要用一臺計算機(jī)對解答進(jìn)行計算。在笛卡兒空間內(nèi)插入工具位置能使工具端點(diǎn)沿著路徑跟隨軌跡平滑運(yùn)動。引入一個參考坐標(biāo)系,用以描述工具位置,然后讓該坐標(biāo)系運(yùn)動。這對許多情況是很方便的。

  5.工具指令

  一個工具控制指令通常是由閉合某個開關(guān)或繼電器而開始觸發(fā)的,而繼電器又可能把電源接通或斷開,以直接控制工具運(yùn)動,或者送出一個小功率信號給電子控制器,讓后者去控制工具。直接控制是最簡單的方法,而且對控制系統(tǒng)的要求也較少??梢杂脗鞲衅鱽砀惺芄ぞ哌\(yùn)動及其功能的執(zhí)行情況。

  6.傳感數(shù)據(jù)處理

  用于機(jī)械手控制的通用計算機(jī)只有與傳感器連接起來,才能發(fā)揮其全部效用。我們已經(jīng)知道,傳感器具有多種形式。此外,我們按照功能,把傳感器概括如下:

 ?。?)內(nèi)體感受器用于感受機(jī)械手或其它由計算機(jī)控制的關(guān)節(jié)式機(jī)構(gòu)的位置。

  (2)觸覺傳感器用于感受工具與物體(工件)間的實(shí)際接觸。

 ?。?)接近度或距離傳感器用于感受工具至工件或障礙物的距離。

  (4)力和力矩傳感器用于感受裝配(如把銷釘插入孔內(nèi))時所產(chǎn)生的力和力矩。

  (5)視覺傳感器用于“看見”工作空間內(nèi)的物體,確定物體的位置或(和)識別它們的形狀等。傳感數(shù)據(jù)處理是許多機(jī)器人程序編制的十分重要而又復(fù)雜的組成部分。


內(nèi)容來自百科網(wǎng)