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

機器人編程

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

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

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

  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指令:此指令實現(xiàn)在某一步暫停、急停或運行錯誤后,自下一步起繼續(xù)執(zhí)行程序。

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

  SPEED指令:指令的功能是指定程序控制下機器人的運動速度,其值從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)控程序,進入硬件調(diào)試狀態(tài)。

  2.程序指令

  1)運動指令

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

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

  MOVE#PICK!

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

  MOVET<位置>,<手開度>

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

  又例如:

  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實現(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裝配型機器人運動控制時的一種編程語言,是20世紀(jì)70年代后期由意大利Olivetti公司研制的一種簡單的非文本語言。

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

  IML語言

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

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

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

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

  1.運算

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

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

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

  2.決策

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

  3.通訊

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

  4.機械手運動

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

  5.工具指令

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

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

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

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

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

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

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

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


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