機器學習技術與應用 課件 第13課 機器人編程系統(tǒng)_第1頁
機器學習技術與應用 課件 第13課 機器人編程系統(tǒng)_第2頁
機器學習技術與應用 課件 第13課 機器人編程系統(tǒng)_第3頁
機器學習技術與應用 課件 第13課 機器人編程系統(tǒng)_第4頁
機器學習技術與應用 課件 第13課 機器人編程系統(tǒng)_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

智能機器人技術與應用“十四五”職業(yè)教育人工智能技術應用專業(yè)系列教材第13課機器人編程系統(tǒng)231知識目標(1)熟悉可編程機器人的三個發(fā)展水平。(2)了解機器人編程的必要條件,了解典型的機器人編程語言。(3)了解機器人離線編程系統(tǒng)及其自動任務。能力目標(1)掌握專業(yè)知識的學習方法,培養(yǎng)閱讀、思考與研究的能力。(2)積極參與“研究性學習小組”活動,提高組織和活動能力,具備團隊精神。素質目標(1)熱愛學習,掌握學習方法,提高學習能力。(2)熱愛讀書,善于分析,勤于思考,關心機器人技術進步。(3)體驗、積累和提高“大國工匠”的專業(yè)素質。學習目標

愿景

體驗

創(chuàng)意

實踐重點難點(1)熟悉可編程機器人及其編程條件。(2)熟悉機器人編程語言與離線編程。目錄可編程機器人三個發(fā)展水平01機器人編程必要條件02機器人編程特殊問題03典型機器人編程語言04離線編程系統(tǒng)要點05離線編程的自動任務06第13課機器人編程系統(tǒng)機器人編程為使機器人完成某種任務而設置動作順序描述(見圖13-6)。機器人運動和作業(yè)的指令都是由程序進行控制,常見的編制方法有兩種,示教編程方法和離線編程方法。其中示教編程方法包括示教、編輯和軌跡再現(xiàn),可以通過示教盒示教和導引式示教兩種途徑實現(xiàn)。由于示教方式實用性強,操作簡便,因此大部分機器人都采用這種方式。離線編程方法是利

用計算機圖形學成果,借助圖形處理

工具建立幾何模型,通過一些規(guī)劃算

法來獲取作業(yè)規(guī)劃軌跡。與示教編程

不同,離線編程不與機器人發(fā)生關系,

在編程過程中機器人可以照常工作??删幊虣C器人三個發(fā)展水平0101

可編程機器人三個發(fā)展水平機器人操作臂與專用自動化裝備的區(qū)別在于它們的“柔性”,即可編程性。不僅操作臂的運動可編程,而且通過使用傳感器以及與其他工業(yè)自動化裝備的通信,操作臂能夠適應任務進程中的各種變化。01

可編程機器人三個發(fā)展水平操作臂編程方法是一個自動化和智能制造過程的一部分。習慣上人們用工作站來描述裝備的一個局部集合,這種局部集合包括一個或者更多的操作臂、輸送系統(tǒng)、零件喂料器和夾具。在更高的級別中,各工序可以在工廠網(wǎng)絡內(nèi)被相互連接,從而一臺中央控制計算機便能夠控制工廠的全部流程。因此,在智能制造的工作站中,操作臂的編程問題通常在更寬范圍的各種互聯(lián)機器的編程問題中考慮??删幊虣C器人的問題包括了所有面向一般計算機編程的問題,甚至更多。此外,操作臂以及其他可編程裝備所應用的工業(yè)場合現(xiàn)在要求越來越高,因而用戶界面的先進

性變得非常重要。實際上,用戶界面的問題逐漸成為工業(yè)機器人設計和應用中的核

心問題。依靠用戶和工業(yè)機器人之間的接口,用戶便可以利用所有基本機構原理和

控制算法。示教級編程動作級編程任務級編程01

可編程機器人三個發(fā)展水平01

可編程機器人三個發(fā)展水平13.1.1示教級編程早期的機器人都是通過示教方法進行編程的,這種方法包括移動機器人到一個期望目標點,在存儲器中記下這個位置,使得順序控制器可以在再現(xiàn)時讀取

這個位置。在示教階段,用戶通過手或者通過示教盒交互方

式來操縱機器人。所謂示教盒是一個手持的按鈕盒,它可以

控制每一個操作臂關節(jié)或者每一個笛卡兒自由度。這種控制

器可以進行調試和分步執(zhí)行,因此,能夠輸入包含

邏輯功能的簡單程序。一些示教盒帶有字符顯示,

并且在性能上接近復雜的手持終端。

圖13-7操作者正在使用示教盒對大型工業(yè)機器人進行編程01

可編程機器人三個發(fā)展水平13.1.2動作級編程自從經(jīng)濟且功能強大的計算機出現(xiàn)以來,通過計算機語言編寫程序的可編程機器人日益成為主流。通常,可應用于各種可編程操作臂的編程語言被稱為機器人編程語言。大多數(shù)機器人系統(tǒng)配備了各自的機器人編程語言,但同時也保留了示教盒接口。01

可編程機器人三個發(fā)展水平機器人編程語言有多種形式,將其分為三種類型:(1)專用操作語言。這類機器人編程語言是全新開發(fā)出來的,雖然這類語言專用于機器人領域,但也有可能成為一種普通的計算機編程語言。例如Unimation公司開發(fā)的用來控制工業(yè)機器人的VAL語言,它是作為一種操作臂控制語言專門開發(fā)的,而作為一種普通計算機語言其功能是相當弱的,例如它不支持浮點型數(shù)據(jù)和字符串,并且子程序不能傳遞變量。更新版V-II能夠支持上述這些功能,之后這種語言的版本是V+,它包括了許多新的功能。斯坦福大學開發(fā)的AL語言也是操作臂的專用操作語言。盡管AL編程語言現(xiàn)在已經(jīng)過時,但是它的某些功能即使在當前的許多語言中仍然不具備,例如力控制和并聯(lián)機構等。01

可編程機器人三個發(fā)展水平(2)計算機語言中的機器人數(shù)據(jù)庫。這種機器人編程語言的開發(fā)始于一種流行的計算機語言(例如Pascal語言),但附加了一個機器人子程序庫。這樣,用戶只要寫一段Pascal程序就可以根據(jù)機器人的專門要求頻繁地訪問預定義的子程序包。例如AmericanCimflex公司的AR-BASIC實際上是標準BASIC應用程序的子程序庫;NASA噴氣機推進實驗室開發(fā)的JARS語言是基于Pascal語言的機器人編程語言。01

可編程機器人三個發(fā)展水平(3)新型通用語言機器人數(shù)據(jù)庫。這種機器人編程語言以一種新的通用語言作為編程基礎,然后提供一個預定義的機器人專用子程序庫。由ABB機器人公司開發(fā)的RAPID語言以及IBM公司開發(fā)的AML語言和GMF機器人公司開發(fā)的KAREL語言都是這種機器人編程語言的例子。機器人工作站中的絕大部分語句并不是機器人所特有的,相反,在大多數(shù)機器人編程中必須進行初始化、邏輯測試、模塊化以及通信等。如今,機器人語言的發(fā)展趨勢是逐漸遠離專用機器人編程語言,而向著通用語言開發(fā)的方向發(fā)展。01

可編程機器人三個發(fā)展水平13.1.3任務級編程機器人編程方法的第三個發(fā)展階段具體體現(xiàn)在任務級編程語言。這種語言允許用戶直接給定所期望任務的子目標指令,而不是詳細指定機器人的每一個動作細節(jié)。與動作級機器人編程語言相比,在任務級編程系統(tǒng)中,用戶能夠在更高水平上給出應用程序的指令。任務級機器人編程系統(tǒng)必須擁有自動執(zhí)行許多任務規(guī)劃的能力。例如,如果已經(jīng)發(fā)出“抓住螺釘”的指令,系統(tǒng)必須為操作臂規(guī)劃一個路徑,使其避免與周圍的任何障礙物碰撞,且必須自動選擇合適的抓取

螺釘?shù)奈恢?。相反,對于動作級機器人編程語言來說,所有的這些選擇都需要編程者

來完成。

雖然對動作級機器人編程語言的不斷改善有助于使編程簡化,但這些改進并不是任務

級編程語言的組成部分。真正的操作臂任務級編程語言至今還不存在,但是它已經(jīng)成

為當今一個活躍的研究課題。機器人編程必要條件0202

機器人編程必要條件機器人編程是指為使機器人完成某種任務而設置的動作順序描述。機器人運動和作業(yè)的指令都是由程序進行控制的,常見的編制方法就是示教編程和離線編程。由于實用性強,操作簡便,因此大部分機器人都采用示教方式。示教編程方法包括示教、編輯和軌跡再現(xiàn),可以通過示教盒示教和導引式示教兩種途徑實現(xiàn)。離線編程方法是利用計算機圖形學成果,借助圖形處理工具建立幾何模型,通過一些規(guī)劃算法來獲取作業(yè)規(guī)劃軌跡。與示教編程不同,離線編程不與機器人發(fā)生關系,在編程過程中機器人可以照常工作。運動描述編程環(huán)境操作流程世界模型傳感器融合02

機器人編程必要條件02

機器人編程必要條件13.2.1世界模型世界模型是指研究全球問題的系統(tǒng)動態(tài)模型。在麻省理工學院J·W·福雷斯特教授于1971年提出的“世界模型Ⅱ”的基礎上,米都斯等人進一步提出“世界模型Ⅲ”。其中包括:(1)因果關系分析,涉及人口、自然資源、工業(yè)、農(nóng)業(yè)、環(huán)境(污染)等子系統(tǒng);(2)模型假設與結構,設有5個狀態(tài)變量、7個決策變量、104個方程;(3)模擬計算。米都斯指出,世界模型是通過連鎖的反饋環(huán)路,把各種因素綜合在一起。他認為模型

的重要性在于決定了經(jīng)濟“在世界系統(tǒng)中增長的原因和極限”。世界模型用于研究全

局問題,是一種富有探索精神的新方法。02

機器人編程必要條件按定義,機器人操作程序描述的一定是三維空間的移動物體,顯然,任何機器人編程語言必須具有描述這種行為的功能。機器人編程語言最基本的要素就是一些專門的幾何類型。例如,代表一系列關節(jié)角、笛卡兒位置、姿態(tài)和坐標系的類型。預先定義的操作器可以對這些類型進行有效操作。所以,“標準坐標系”可以作為一種可能的世界模型,所有運動都描述成工具坐標系相對于固定坐標系,通過與幾何類型相關的任一表達式可以建立目標坐標系。在許多機器人編程語言中,定義各種幾何類型的名義變量,并在程序中訪問它們,這種能力構

成了世界模型的基礎。物體的實際形狀,包括其表面積、體積、質量或者其他特性,

都不是世界模型的一部分。在設計機器人編程系統(tǒng)時,在世界坐標系內(nèi)能夠對物體建

模的能力是設計決策的基本依據(jù)之一。02

機器人編程必要條件一些世界模型系統(tǒng)允許在名義物體之間進行關聯(lián)性說明,即已知系統(tǒng)中有兩個或更多的名義物體已經(jīng)固聯(lián)在一起,此時,如果用一條語句移動一個物體,那么任何附在其上的物體也要跟著一同運動。因此,在應用中,一旦銷子被插入支架的孔中,將通知系統(tǒng)(通過一個語句)這兩個物體已經(jīng)被聯(lián)接在一起。支架隨后的運動(“支架”變量坐標值的變化)將對已儲存的“銷子”變量值進行更新。在理想情況中,一個世界模型系統(tǒng)將包含許多操作臂必須處理的物體信息和操作臂本身的信息。

例如,考慮一個系統(tǒng),物體在系統(tǒng)中用CAD模型描述,通過定義物體的邊緣、表面積、

體積來描述一個物體的空間形狀。系統(tǒng)應用這些有效數(shù)據(jù),就能夠實現(xiàn)任務級編程系

統(tǒng)的許多功能。02

機器人編程必要條件13.2.2運動描述機器人編程語言最基本的功能就是可以描述機器人的期望運動。在編程語言中使用運動語句,它允許用戶指定路徑點、目標點以及采用關節(jié)插補運

動或者笛卡兒空間直線運動。此外,用戶可以控制整

個運動過程的速度或持續(xù)時間。

圖13-8機器人的運動02

機器人編程必要條件為了說明各種基本運動的語法,我們以下述操作臂的運動為例:(1)操作臂運動到“目標1”位置;(2)然后沿直線運動到“目標2”位置;(3)運動通過“路徑點1”到“目標3”位置停止。假定已經(jīng)對所有這些路徑點進行示教或逐句描述,這個程序段可寫為:在VALII語言中: movegoal1 movesgoal2 movevia1 movegoal302

機器人編程必要條件在AL語言中(這里控制操作臂“garm”) movegarmtogoal11; movogarmtogoal2linearly; movegarmtogoal3viavia1;02

機器人編程必要條件可見,對于簡單運動,大多數(shù)語言具有相似的語法。如果我們考慮下述特性,可以明顯看出不同機器人編程語言之間的基本運動語句的區(qū)別:(1)在坐標系、矢量和旋轉矩陣等結構化模型上做數(shù)學運算的能力。(2)以不同的便捷方法描述坐標系等幾何實體的能力,同時具有不同描述方法互換的能力。(3)約束特定運動的持續(xù)時間和速度的能力——例如,很多系統(tǒng)只允許用戶把速度設置成高速,一般不允許用戶直接給定期望的持續(xù)時間或期望的最大關節(jié)速度。(4)相對于不同坐標系確定目標位置的能力,包括用戶定義的坐標系和運動中的坐標系(例如在輸送機上)。02

機器人編程必要條件13.2.3操作流程機器人編程系統(tǒng)允許用戶指定的操作流程通常也有測試、分支、循環(huán)以及訪問子程序甚至中斷等概念。在自動化程序中,并行操作一般更為重要。首先,在一個工序中經(jīng)常應用兩個或者更多的機器人同時工作以減少操作循環(huán)時間。即使在單個機器人的應用中,機器人控制器必須以并行方式控制工作站中的另一個設備。因此,在機器人編程語言中經(jīng)常有信號單元和等待單元,有時還會推出更復雜的并行操作結構。另一個常見的事情是需要用某種傳感器去監(jiān)測各種操作。之后通過中斷或查詢,機器

人系統(tǒng)應當能夠根據(jù)傳感器的探測信號對某種事件產(chǎn)生響應。一些機器人編程語言能

夠方便地提供事件監(jiān)測的能力。02

機器人編程必要條件13.2.4編程環(huán)境良好的編程環(huán)境能夠提高編程人員的工作效率。對操作臂編程難度較大,需要頻繁交互,同時包含大量試驗操作。如果用戶被迫不斷反復進行程序的“編輯—編譯—運行”,那么編程效率是很低的。因此,大多數(shù)機器人編程語言采用解釋型語言,以便在程序開發(fā)和調試時每次只運行一條語句,有許多語句指令可使實際裝置運動。典型的編程系統(tǒng)還需要支持文本編輯器、調試器以及文件系統(tǒng)等。02

機器人編程必要條件13.2.5傳感器融合機器人編程的一個非常重要的部分就是需要解決與傳感器的交互問題。這種系統(tǒng)最少應能夠與接觸傳感器和力傳感器通信以及能夠按照if―thenelse結構使用響應。采用專門的事件監(jiān)測器在后臺檢測傳感器信號的變化。視覺集成系統(tǒng)允許視覺系統(tǒng)將一個相關物體的坐標發(fā)送給操作臂系統(tǒng)。例如,視覺系統(tǒng)能夠確定輸送帶上支架的位置,并將支架相對于攝像機的位置和姿態(tài)返回給操作臂控制器。已知相對

于固定坐標系的攝像機坐標系,因此能夠根據(jù)這些信息計算出操作臂的期望目標坐標

系。一些傳感器可能是工作站設備的一部分,例如一些機器人控制器利用附著在傳送帶上

的傳感器的輸入,使操作臂能夠跟蹤傳送帶的運動并通過傳送帶的運動獲得物體的信

息。02

機器人編程必要條件力控制能力的接口能夠通過專門語句實現(xiàn),允許用戶指定力控制策略。這種力控制策略是操作臂控制系統(tǒng)必須要集成的部分——機器人編程語言僅作為實現(xiàn)這些能力的接口。利用主動力控制的可編程機器人可能還需要具有其他特殊特征,例如將約束運動中采集到的力數(shù)據(jù)進行顯示的能力。機器人編程特殊問題0303

機器人編程特殊問題雖然近年來的研究小有進展,但機器人編程仍然是個難題,它包含了所有傳統(tǒng)的計算機編程問題以及因實際情況影響引起的其他困難。外部環(huán)境與內(nèi)部世界模型程序前后相關性03

機器人編程特殊問題錯誤恢復03

機器人編程特殊問題13.3.1外部環(huán)境與內(nèi)部世界模型機器人編程系統(tǒng)的主要特點就是在計算機內(nèi)部建立世界模型。即使這個內(nèi)部世界模型非常簡單,要保證這個模型與人為建立的實際環(huán)境模型相匹配仍然存在很多困難。內(nèi)部模型與外部實際環(huán)境之間的差異會引起機器人抓持物體操作困難或失敗,或發(fā)生碰撞等其他許多問題。在編程的初始階段,要建立內(nèi)部模型與外部實際環(huán)境之間的一致性,并保證貫穿于整個程序的執(zhí)行過程。在編程或調試的初始階段,應保證在程序中描述的狀態(tài)與工作站的實際狀態(tài)是一致

的。在許多傳統(tǒng)的編程中,只需保存內(nèi)部變量,重建之前的

環(huán)境時再將內(nèi)部變量調出,

而機器人編程不同,實際物體通常必須重新定位。03

機器人編程特殊問題除了每個物體位置固有的不確定性以外,操作臂的精度都是有限的。裝配中的各工步經(jīng)常要求操作臂的運動精度高于其本身能夠達到的精度,例如在銷釘插入銷孔的操作中,其裝配間隙可能小于操作臂的定位精度。更復雜的是,通常操作臂的精度在它的工作空間內(nèi)是變化的。當物體的準確位置無法確定時,設法對物體的位置信息進行提煉是必要的。這有時能由傳感器完成(例如視覺傳感器、觸覺傳感器)或者在約束運動中使用適當?shù)牧刂撇呗浴?3

機器人編程特殊問題在操作臂程序的調試中,對程序進行修改、備份以及反復調試非常必要。備份可使操作臂和被操作的物體恢復至最初的狀態(tài)。然而,在實際物體的操作中并不容易。例如噴涂、鉚接、鉆孔以及焊接操作,這些操作會引起被操作對象的實際狀態(tài)發(fā)生變化。因此用戶需要獲得操作對象的一個新的程序副本,代替原來修改的副本。更進一步,在期望的操作能夠試驗成功之前,對那些未經(jīng)過反復試驗的操作可能需要重新建立適當?shù)牟僮鳡顟B(tài)。03

機器人編程特殊問題13.3.2程序前后相關性自下而上的編程方法是一種編寫大型計算機程序的標準方法,在這種方法中,一般先開發(fā)小的低級別的程序段,然后將這些程序段匯總成一個較大的程序段,最后得到一個完整的程序。對于這種方法,一般小段程序的執(zhí)行語句之間是相對無關的,因此無須對這些程序段執(zhí)行的文本進行相關性假設。而對于操作臂的編程,在單獨測試時工作可靠的程序代碼,當將其置于較大的程序文本中時,常常會失效。這是由于在進行機器人編程時,受到操作臂運動的位形和速度

的影響較大。03

機器人編程特殊問題初始條件對操作臂編程影響較大——例如操作臂的初始位置。在運動軌跡中,起點會影響該運動的軌跡。操作臂的初始位置也可能影響操作臂在一些關鍵運動區(qū)域的運動速度。這些影響有時能夠通過編程解決,但是通常在源程序單步調試完成之前,這樣的問題并不會出現(xiàn),而且與在它之前執(zhí)行的語句有關。03

機器人編程特殊問題由于操作臂精度不高,因此在某一位置為執(zhí)行某一項操作編制的程序段,當用于其他位置進行同一種操作時,很可能需要重新調試(即對位置重新示教或者進行類似的工作)。在工作站內(nèi)操作位置的變化將引起達到目標位置過程中操作臂位形的變化。這種在工作站內(nèi)部對操作臂運動重新定位的方法可以檢驗操作臂運動學模型和伺服系統(tǒng)的精度,以及其他經(jīng)常出現(xiàn)的問題。這種重新定位會引起操作臂運動位形的變化——例如,從左肩部到右肩部或從肘上部到肘下部的運動。此外,這些位形的變化會引起操作臂由原來的簡單小范圍運動變?yōu)榇蠓秶\動。03

機器人編程特殊問題在操作臂工作空間內(nèi)不同區(qū)域中,空間軌跡形狀特征的變化很可能改變路徑。雖然這是關節(jié)空間軌跡方法特有的現(xiàn)象,但是如果采用笛卡兒路徑規(guī)劃方法則會在奇異位置附近產(chǎn)生問題。當對操作臂的運動進行第一次測試時,通常比較穩(wěn)妥的方法是讓操作臂緩慢運動。因此,當操作臂在運動中可能與周圍物體發(fā)生碰撞時,密切監(jiān)視操作臂的運動的操作者能夠及時停止操作臂的運動。操作臂在低速下經(jīng)過初步調試后,一般希望增加操作臂的運動速度。這樣做可能會引起某些運動發(fā)生變化。當需要以較快的速度跟蹤軌跡時,許多操作臂控制系統(tǒng)中的限制條件

會產(chǎn)生較大的伺服誤差。同樣,在包括接觸環(huán)境的力控制情況下,速度變化能夠完全

改變正確的力控制策略。操作臂的位形也會影響到能被其施加的力的精準度,這在開發(fā)機器人程序的時候一般

很難考慮。03

機器人編程特殊問題13.3.3錯誤恢復處理實際環(huán)境的另一個直接問題就是物體沒有精確處在所規(guī)定的位置上,因此這種操作運動可能就會失敗。在操作臂編程中應盡量全面考慮這些問題,使裝配操作盡量可靠。但盡管如此,誤差還可能產(chǎn)生,因此操作臂編程的一個重要方面就是如何從這些錯誤中恢復。由于各種原因,用戶程序中的任何運動程序幾乎都可能出現(xiàn)問題。常見的原因是物體位置變化或者從機械手中脫落、物體失去了本來應有的位置、在插入操作時發(fā)生卡住現(xiàn)象以及不能夠對

孔進行定位。03

機器人編程特殊問題關于錯誤恢復的首要問題是識別錯誤是否確實存在。因為機器人的感覺和推理能力一般十分有限,因此錯誤檢測通常是很困難的。為了檢測錯誤,機器人程序應當包括某種直觀的測試。這種測試可以檢查操作臂的位置是否位于適當?shù)姆秶?;例如,操作臂在進行一個插入操作時,位置沒有變化表示可能發(fā)生卡住現(xiàn)象,而位置變化太大則表明可能銷釘離孔太遠,或者物體已經(jīng)從手中滑落。如果操作臂系統(tǒng)具有某種視覺功能,那么,它就可以拍照并檢查物體是否存在,如果物體存在,可以報告它的位置。還可以有力檢測,例如通過測量攜帶物體的重量可以檢查

物體是否仍在手中或是滑落,或者在某些運動范圍內(nèi)檢查接

觸力是否保持在一定范圍。03

機器人編程特殊問題在程序中的每一條運動語句都可能會失效,所以這些直觀的檢查可能很繁瑣,并且可能比程序其他部分占用更多的存儲空間。試圖處理所有可能的誤差是非常困難的;通常只對幾種最有可能失效的語句進行檢查。預測機器人應用程序的哪一部分可能失效,在編程調試階段就應對機器人進行大量的人機交互以及部分測試。一旦檢測出錯誤,就要從錯誤中恢復過來。這可以通過操作臂在完全程序控制下進行,或者由用戶進行人工干預,或者兩者結合進行。在任何情況下,在嘗試恢復過程中可能會產(chǎn)生新的錯

誤。顯而易見,代碼如何從錯誤中恢復過來,可能成為操作臂編程的主要部分。在操作臂編程中利用并行操作可能使誤差恢復更加復雜。當幾個進程同時運行并且其

中一個進程產(chǎn)生誤差時,可能會影響其他進程。在許多情況下,備份這個出錯的進程,

并允許其他進程繼續(xù)執(zhí)行。有時,必須對幾個或全部運行程序進行復位。典型機器人編程語言0404

典型機器人編程語言實際上,每一個機器人制造商都已經(jīng)建立了其專有的限制性機器人編程語言,這一直是工業(yè)機器人領域的一個問題。當你每次開始使用新的機器人時,通常需要學習新的語言。例如ABB擁有RAPID編程語言,Kuka有KRL,Comau使用PDL2,安川使用INFORM和川崎使用AS。然后,F(xiàn)anuc機器人使用Karel,St?ubli機器人使用VAL3和UniversalRobots使用URScript。如果您是技術人員,則更有可能使用制造商的語言。BASIC和Pascal這兩種語言雖然已經(jīng)過時,但它們是幾種工業(yè)機器人語言的基礎。為進行智能

機器人的研發(fā),應該選擇哪種編程語言取決于你想開發(fā)什么類型的軟件,以及正在使

用什么樣的系統(tǒng)。在機器人技術中流行的每種編程語言對機器人各有不同的優(yōu)勢。C/

C++語言PythonMATLABJava04

典型機器人編程語言04

典型機器人編程語言13.4.1C/C++語言一般認為,機器人技術的第一編程語言是C和C++,因為很多硬件庫都使用這兩種語言,它們允許與低級硬件進行交互,是允許實時性能和成熟的編程語言。使用C實現(xiàn)相同的功能可能需要相當長的時間,并且需要更多的代碼行。然而,由于機器人非常依賴于實時性能,C和C++是最接近機器人科學家心目中的“標準”編程語言。C#/C.NET是微軟提供的限制性編程語言。微軟機器人工程師工作室將其作為其基本語言。想

要長期地提高自身的編碼能力,首先學習C/C++不失為一個

好的選擇。04

典型機器人編程語言13.4.2PythonROS是機器人軟件平臺,它能為異質計算機集群提供類似操作系統(tǒng)的功能。Python和C++是ROS中的兩種主要的編程語言。Python是一種解釋語言,語言的重點是易用性。Python節(jié)省了許多常規(guī)的事情,例如定義和轉換變量類型。由于它允許使用C/C++代碼進行簡單的綁定,這意味著代碼的性能很重的部分可以用這些語言來實現(xiàn),以避免性能下降。Python還有大量的免費庫。04

典型機器人編程語言13.4.3JavaJava對程序員“掩蓋”底層存儲功能,這使得Java對程序的要求要比C語言對程序的要求更低一些,但這意味著編程者對底層代碼的運行邏輯了解也會少很多。像C#和MATLAB一樣,Java是一種解釋語言,Java虛擬機在運行時解釋指令。由于使用Java虛擬機,理論上你可以在不同的機器上運行相同的代碼。04

典型機器人編程語言13.4.4MATLABMATLAB及其相關的開源語言(例如Octave),是一些著名的機器人科學家用于調查數(shù)據(jù)和創(chuàng)建控制系統(tǒng)常用的語言。此外,還有一個非常有名的MATLAB機器人工具箱。如果需要分析數(shù)據(jù),創(chuàng)建高級圖表或執(zhí)行控制系統(tǒng),MATLAB一定要學習。

圖13-9MATLAB的繪圖效果離線編程系統(tǒng)要點0505

離線編程系統(tǒng)要點離線編程(OLP)系統(tǒng)是一種已經(jīng)被廣泛應用的,以計算機圖形學為依托的機器人編程方法。機器人程序的開發(fā)能夠在不訪問機器人本身的情況下進行。不論是作為工業(yè)自動化裝備的輔助編程工具,還是機器人的研究平臺,離線編程

系統(tǒng)都具有重要的意義。

圖13-10離線編程系統(tǒng)示意離線系統(tǒng)概述用戶接口運動仿真三維模型05

離線編程系統(tǒng)要點路徑規(guī)劃仿真動力學仿真?zhèn)鞲衅鞣抡娑噙^程仿真翻譯成目標語言工作站標定05

離線編程系統(tǒng)要點13.5.1離線系統(tǒng)概述當前機器人的使用仍然很困難,在特定現(xiàn)場安裝機器人以及使用這個系統(tǒng)進行生產(chǎn)準備,需要大量的時間和專業(yè)技術。由于各種原因,這種問題在某些應用中會顯得比尤其嚴重。例如在點焊和噴涂領域,機器人自動操作比在其他應用領域(例如裝配)的發(fā)展要迅速得多。在一些制造企業(yè),人們鼓勵擴大機器人的應用范圍,而操作人員難以實現(xiàn)這個要求。因此,現(xiàn)有的大部分機器人在各種應用中并不能充分發(fā)揮它們的作用。05

離線編程系統(tǒng)要點在機器人程序開發(fā)過程中,尤其是在后來的生產(chǎn)應用中,必須保證機器人編程系統(tǒng)確定的內(nèi)部模型與機器人周圍環(huán)境的實際狀態(tài)一致。在用交互方式調試操作臂程序時,需要經(jīng)常手工初始化機器人環(huán)境狀態(tài)——工件、刀具等必須返回到它們的初始位置。當機器人對一個或多個工件執(zhí)行不可逆的操作時(例如鉆孔或者銑削),這種狀態(tài)初始化變得尤其困難(有時代價也非常昂貴)。實際環(huán)境對初始化的最主要影響是當程序中的問題恰巧出現(xiàn)在工件、刀具或者操作臂自身處于某種意外的不可逆的操作中。傳感器研究領域,尤其是計算機視覺領域,都在集中精

力開發(fā)能夠檢驗、修正或發(fā)現(xiàn)世界模型的技術。顯然,為了將

一種算法應用于機器人的指令生成中,那就需要獲取機器人以

及周圍環(huán)境的模型。05

離線編程系統(tǒng)要點離線編程(OI'P)系統(tǒng)的概念已擴展到工廠級任何可以編程的設備。一種普遍的觀點認為:離線編程系統(tǒng)在需要重新編程時可以不占用生產(chǎn)設備,因此,智能制造企業(yè)可以保證大部分時間處于生產(chǎn)狀態(tài)。它們也可以將產(chǎn)品開發(fā)過程中使用的計算機輔助設計(CAD)數(shù)據(jù)庫與實際產(chǎn)品生產(chǎn)自然聯(lián)系起來。在某些應用中,這種直接使用CAD設計數(shù)據(jù)的方法可以大大減少生產(chǎn)設備的編程時間。05

離線編程系統(tǒng)要點離線編程系統(tǒng)應當成為從動作級編程系統(tǒng)到任務級編程系統(tǒng)的發(fā)展途徑。通過給各種子任務自動提供解決方案,然后讓編程人員在仿真環(huán)境下對這些方案進行選擇,便可以逐漸完成這種擴展。在找到建立任務級編程系統(tǒng)的方法之前,用戶仍然需要反復對生成的子任務規(guī)劃進行評判,并指導應用程序的開發(fā)。這樣,離線編程系統(tǒng)就成了任務級規(guī)劃系統(tǒng)研發(fā)的重要基礎,實際上,研究人員已經(jīng)開發(fā)了各種離線編程系統(tǒng)的組件(例如三維模型、圖形顯示和程序后處理器)。因此,除了針對科研,離線編程系統(tǒng)對工業(yè)生產(chǎn)也是一種有用的輔助工具(見圖13-11)。05

離線編程系統(tǒng)要點

圖13-11離線編程系統(tǒng)的流程05

離線編程系統(tǒng)要點13.5.2用戶接口開發(fā)離線編程系統(tǒng)的主要目的是創(chuàng)建一個使操作臂編程更加容易的平臺,因此用戶接口就顯得尤為重要。另一個主要目的是為了在編程時不使用機器人物理設備。圖13-12離線到實時的平滑遷移05

離線編程系統(tǒng)要點由于有不少生產(chǎn)人員并不能很好地使用機器人編程語言,鑒于這個原因以及其他一些歷史原因,許多工業(yè)機器人一般提供兩種接口,分別適合編程和非編程人員。非編程人員使用示教盒與機器人交互進行程序開發(fā)。編程人員通過編寫機器人編程語言代碼和與機器人交互,以對機器人工作點進行示教和調試程序流程。這兩種程序開發(fā)方式兼顧了易操作性和靈活性。作為機器人編程語言的擴展并作為用戶接口的一部分,離線編程系統(tǒng)應當提供機器人編程系統(tǒng)中那些有價值的特征,例如機器人交互式編程語言比編譯語言的效率高得多,后者在用戶每次

修改程序時,都必須按照“編輯—編譯—運行”的這種循環(huán)

模式進行。05

離線編程系統(tǒng)要點用戶接口語言部分很多是從傳統(tǒng)的機器人編程語言繼承過來的,接口的重要部分是被編程的機器人及其環(huán)境的計算機圖形顯示,例如使用鼠標,用戶可以指定屏幕上的各個位置或物體,同樣可以指定“菜單”中的選項以確定工作模式或調用各種功能。一個基本功能是利用圖形交互界面對機器人的工作點或6自由度“坐標系”進行示教。在獲得夾具和工件的三維模型后,離線編程系統(tǒng)使得上述任務變得非常容易。用戶通過圖形接口在表面上指定點,允許坐標系的某個方向與局部表面的法向相同,提供偏移和旋轉的方法等。從圖

形窗口到仿真環(huán)境,使得用戶根據(jù)具體應用很容易確定各種操

作任務。05

離線編程系統(tǒng)要點一個好的用戶接口可以讓非編程人員從頭到尾地完成許多操作。此外,離線編程系統(tǒng)應該可以把非編程人員示教的坐標系和動作順序轉換成機器人編程語言。這些簡單的程序可以由經(jīng)驗豐富的編程人員以機器人編程語言的形式加以改進。對于編程人員來說,得到機器人編程語言后可以通過任意代碼編程實現(xiàn)更為復雜的操作。05

離線編程系統(tǒng)要點13.5.3三維模型離線編程系統(tǒng)中的一個基本功能是利用圖形描述對機器人和工作站進行仿真。這要求對操作工序中的機器人及所有的夾具、零件和刀具進行三維實體建模。為了加速程序開發(fā),希望能夠使用CAD系統(tǒng)中的原始設計直接作為零件或刀具的CAD模型。CAD系統(tǒng)在工業(yè)中逐漸流行,因此這種幾何數(shù)據(jù)越來越容易獲得。由于對這種貫穿于設計到生產(chǎn)的CAD集成系統(tǒng)的迫切需求,因此,離線編程系統(tǒng)包含一個CAD建模子系統(tǒng)或者CAD設計系統(tǒng)的一部分是非常有意義的。如

果離線編程系統(tǒng)是獨立的,那么它必須有合適的接口與外部CAD系統(tǒng)進行模型轉換。

即使是獨立的離線編程系統(tǒng),也應當具備簡單的局部CAD工具,以便快速創(chuàng)建非主要

工作站模型,或者在輸入的CAD模型中加入與機器人相關的數(shù)據(jù)。05

離線編程系統(tǒng)要點物體三維幾何模型在自動碰撞檢測中有重要用途。在仿真環(huán)境下,物體之間發(fā)生任何碰撞時,離線編程系統(tǒng)應該自動提示用戶,并且指明發(fā)生碰撞的確切位置。裝配類的操作可能包括許多“碰撞”,當物體在設定的碰撞誤差范圍內(nèi)運動時,系統(tǒng)有必要發(fā)出碰撞提示。05

離線編程系統(tǒng)要點13.5.4運動仿真為保證仿真環(huán)境的有效性,要對每一個被模擬的操作臂的幾何形狀進行正確無誤的仿真。

圖13-13離線編程系統(tǒng)仿真軟件05

離線編程系統(tǒng)要點對于逆運動學,離線編程系統(tǒng)能夠以兩種不同的方式與機器人控制器交互。第一種方式是用離線編程系統(tǒng)替代機器人控制器逆運動學模型,并不斷將關節(jié)空間的機器人位置傳送給控制器。第二種方式是將笛卡兒位置傳送給機器人控制器,讓控制器使用逆運動學模型來求解機器人位姿。一般第二種方法的效果會更好一些,尤其是機器人制造商已經(jīng)把操作臂標定置于機器人上。這些標定技術為每個機器人規(guī)定了專屬的逆運動學模型。這種情況下,一般希望將笛卡兒空間信息傳送給機器人控制器。05

離線編程系統(tǒng)要點13.5.5路徑規(guī)劃仿真除了對操作臂的靜態(tài)位置運動進行仿真外,離線編程系統(tǒng)應能夠對操作臂在空間運動的路徑進行精確仿真,也需要對機器人控制器使用的算法進行仿真。不同的機器人生產(chǎn)商采用的路徑規(guī)劃和算法是不同的。為判斷機器人與周圍環(huán)境是否發(fā)生碰撞時,對所選擇的空間路徑曲線進行仿真非常重要。為了預測操作的循環(huán)時間,對軌跡的時間歷程進行仿真也很重要。當機器人在一個運動環(huán)境中操作時(例如附近有另外一臺機器人),為了精確預測是否發(fā)生碰撞,也有時

為了預測通信和運動同步的問題(例如死鎖),也要求對運動

的時間屬性進行精確仿真。05

離線編程系統(tǒng)要點13.5.6動力學仿真如果離線編程系統(tǒng)對機器人控制器的軌跡規(guī)劃算法仿真做得很好,而且實際的機器人跟隨期望軌跡運行的誤差可以忽略時,那么在對操作臂進行運動仿真時可以不考慮動力學特性。但是,在高速或重載情況下,軌跡跟蹤誤差就顯得很重要。對操作臂和運動物體的動力學建模以及對用于操作臂控制器的控制算法仿真都需要仿真掌握跟蹤誤差。05

離線編程系統(tǒng)要點13.5.7多過程仿真一些工業(yè)應用中,有時兩臺或者更多的機器人在同一環(huán)境下協(xié)同操作。即使單個機器人工作單元,通常也包含輸送帶、傳輸線、視覺系統(tǒng)以及其他一些機器人必須協(xié)同作業(yè)的運動設備。為此,離線編程系統(tǒng)需要能夠對多個運動設備以及包括并行操作的其他作業(yè)進行仿真。實現(xiàn)這種功能的基本要求是這個系統(tǒng)中基本的執(zhí)行語句必須是一種多處理語言,編程環(huán)境能夠為一個工序中的兩個或更多的機器人單獨編寫控制程序,然后通過同時運行這些程序對這個工序的操作

進行仿真。在語言中加入信號及等待單元可以使機器人之間的

協(xié)同作業(yè)與仿真操作的情況完全相同。05

離線編程系統(tǒng)要點13.5.8傳感器仿真機器人程序中的大部分語句并不是運動語句,而是初始化、錯誤檢查、輸入/輸出以及其他一些語句。因此,離線編程系統(tǒng)應當能夠對操作過程提供一個全面的仿真環(huán)境,包括與傳感器、各種輸人/輸出、設備通信與其他設備交互的環(huán)境。一個支持傳感器及多任務仿真的離線編程系統(tǒng)不僅可以檢驗機器人運動的可行性,而且也能對機器人程序中的通信及同步性進行校驗。05

離線編程系統(tǒng)要點13.5.9翻譯成目標語言一直困擾著工業(yè)機器人(及其他可編程自動化設備)用戶的問題是幾乎每個離線編程系統(tǒng)的供應商都發(fā)明了自己的語言來對其產(chǎn)品進行編程。對于操作裝備來說,某個離線編程系統(tǒng)想成為通用系統(tǒng),它必須要解決不同語言的翻譯問題。解決這個問題的一個辦法是在離線編程系統(tǒng)中只使用一種編程語言,然后通過后處理把它翻譯成目標設備可接受的語言。05

離線編程系統(tǒng)要點將離線編程系統(tǒng)直接與語言翻譯問題聯(lián)系起來會有兩個潛在的好處。首先,用一個單一、通

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論