工業(yè)機(jī)器人編程

發(fā)布日期:2012-12-07    蘭生客服中心    瀏覽:4846

  第一節(jié):機(jī)器人編程

  為使機(jī)器人完成某種任務(wù)而設(shè)置的動(dòng)作順序描述。機(jī)器人運(yùn)動(dòng)和作業(yè)的指令都是由程序進(jìn)行控制,常見的編制方法有兩種,示教編程方法和離線編程方法。其中示教 編程方法包括示教、編輯和軌跡再現(xiàn),可以通過示教盒示教和導(dǎo)引式示教兩種途徑實(shí)現(xiàn)。由于示教方式實(shí)用性強(qiáng),操作簡便,因此大部分機(jī)器人都采用這種方式。離線編程方法是利用計(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命令:改變編輯的程序,用一個(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指令插到程序中。

1) 列表指令
  DIRECTORY指令:此指令的功能是顯示存儲(chǔ)器中的全部用戶程序名。

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

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

2) 存儲(chǔ)指令
  FORMAT指令:執(zhí)行磁盤格式化。

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

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

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

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

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

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

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

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

3) 控制程序執(zhí)行指令
  ABORT指令:執(zhí)行此指令后緊急停止(緊停)。

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

  EXECUTE指令:此指令執(zhí)行用戶指定的程序n次,n可以從–32 768到 32 767,當(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。

4) 系統(tǒng)狀態(tài)控制指令
  CALIB指令:此指令校準(zhǔn)關(guān)節(jié)位置傳感器。

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

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

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

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

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

程序指令
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ī)器人手爪的開合。例如:

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

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

  又例如:

  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)識(shí)符>

  該指令比較兩個(gè)整型變量的值,如果關(guān)系狀態(tài)為真,程序轉(zhuǎn)到標(biāo)識(shí)符指定的行去執(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)動(dòng)控制時(shí)的一種編程語言,是20世紀(jì)70年代后期由意大利Olivetti公司研制的一種簡單的非文本語言。

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

IML語言
  IML也是一種著眼于末端執(zhí)行器的動(dòng)作級(jí)語言,由日本九州大學(xué)開發(fā)而成。IML語言的特點(diǎn)是編程簡單,能人機(jī)對(duì)話,適合于現(xiàn)場操作,許多復(fù)雜動(dòng)作可由簡單的指令來實(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)動(dòng)軌跡、目標(biāo)物的位置及姿態(tài)等信息,從而可以直接編程。往返作業(yè)可不用循環(huán)語句描述,示教的軌跡能定義成指令插到語句中,還能完成某些 力的施加。

  IML語言的主要指令有:運(yùn)動(dòng)指令MOVE、速度指令SPEED、停止指令STOP、手指開合 指令OPEN及CLOSE、坐標(biāo)系定義指令COORD、軌跡定義命令TRAJ、位置定義命令HERE、程序控制指令I(lǐng)F…THEN、FOR EACH語句、CASE語句及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)和工具指令以及某些簡單的傳感 數(shù)據(jù)處理功能。

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

  如果機(jī)器人未裝有任何傳感器,那么就可能不需要對(duì)機(jī)器人程序規(guī)定什么運(yùn)算。沒有傳感器的機(jī)器人只不過是一臺(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é)果,是做出下一步該干什么這類決策的基礎(chǔ)。這種決策能力使機(jī)器人控制系統(tǒng)的功能更強(qiáng)有力。

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

4. 機(jī)械手運(yùn)動(dòng)
  可用許多不同方法來規(guī)定機(jī)械手的運(yùn)動(dòng)。最簡單的方法是向各關(guān)節(jié)伺服裝置提供一組關(guān)節(jié)位置,然后 等待伺服裝置到達(dá)這些規(guī)定位置。比較復(fù)雜的方法是在機(jī)械手工作空間內(nèi)插入一些中間位置。這種程序使所有關(guān)節(jié)同時(shí)開始運(yùn)動(dòng)和同時(shí)停止運(yùn)動(dòng)。用與機(jī)械手的形狀 無關(guān)的坐標(biāo)來表示工具位置是更先進(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è)開關(guān)或繼電器而開始觸發(fā)的,而繼電器又可能把電源接通或斷 開,以直接控制工具運(yùn)動(dòng),或者送出一個(gè)小功率信號(hào)給電子控制器,讓后者去控制工具。直接控制是最簡單的方法,而且對(duì)控制系統(tǒng)的要求也較少?梢杂脗鞲衅鱽 感受工具運(yùn)動(dòng)及其功能的執(zhí)行情況。

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

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

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

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

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

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

更多相關(guān)信息