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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

愿景

體驗(yàn)

創(chuàng)意

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

用計(jì)算機(jī)圖形學(xué)成果,借助圖形處理

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

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

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

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

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

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

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

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

控制算法。示教級(jí)編程動(dòng)作級(jí)編程任務(wù)級(jí)編程01

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

可編程機(jī)器人三個(gè)發(fā)展水平13.1.1示教級(jí)編程早期的機(jī)器人都是通過(guò)示教方法進(jìn)行編程的,這種方法包括移動(dòng)機(jī)器人到一個(gè)期望目標(biāo)點(diǎn),在存儲(chǔ)器中記下這個(gè)位置,使得順序控制器可以在再現(xiàn)時(shí)讀取

這個(gè)位置。在示教階段,用戶通過(guò)手或者通過(guò)示教盒交互方

式來(lái)操縱機(jī)器人。所謂示教盒是一個(gè)手持的按鈕盒,它可以

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

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

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

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

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

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

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

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

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

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

螺釘?shù)奈恢?。相反,?duì)于動(dòng)作級(jí)機(jī)器人編程語(yǔ)言來(lái)說(shuō),所有的這些選擇都需要編程者

來(lái)完成。

雖然對(duì)動(dòng)作級(jí)機(jī)器人編程語(yǔ)言的不斷改善有助于使編程簡(jiǎn)化,但這些改進(jìn)并不是任務(wù)

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

為當(dāng)今一個(gè)活躍的研究課題。機(jī)器人編程必要條件0202

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

機(jī)器人編程必要條件02

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

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

局問(wèn)題,是一種富有探索精神的新方法。02

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

成了世界模型的基礎(chǔ)。物體的實(shí)際形狀,包括其表面積、體積、質(zhì)量或者其他特性,

都不是世界模型的一部分。在設(shè)計(jì)機(jī)器人編程系統(tǒng)時(shí),在世界坐標(biāo)系內(nèi)能夠?qū)ξ矬w建

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

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

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

體積來(lái)描述一個(gè)物體的空間形狀。系統(tǒng)應(yīng)用這些有效數(shù)據(jù),就能夠?qū)崿F(xiàn)任務(wù)級(jí)編程系

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

機(jī)器人編程必要條件13.2.2運(yùn)動(dòng)描述機(jī)器人編程語(yǔ)言最基本的功能就是可以描述機(jī)器人的期望運(yùn)動(dòng)。在編程語(yǔ)言中使用運(yùn)動(dòng)語(yǔ)句,它允許用戶指定路徑點(diǎn)、目標(biāo)點(diǎn)以及采用關(guān)節(jié)插補(bǔ)運(yùn)

動(dòng)或者笛卡兒空間直線運(yùn)動(dòng)。此外,用戶可以控制整

個(gè)運(yùn)動(dòng)過(guò)程的速度或持續(xù)時(shí)間。

圖13-8機(jī)器人的運(yùn)動(dòng)02

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

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

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

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

人系統(tǒng)應(yīng)當(dāng)能夠根據(jù)傳感器的探測(cè)信號(hào)對(duì)某種事件產(chǎn)生響應(yīng)。一些機(jī)器人編程語(yǔ)言能

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

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

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

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

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

的傳感器的輸入,使操作臂能夠跟蹤傳送帶的運(yùn)動(dòng)并通過(guò)傳送帶的運(yùn)動(dòng)獲得物體的信

息。02

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

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

機(jī)器人編程特殊問(wèn)題錯(cuò)誤恢復(fù)03

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

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

環(huán)境時(shí)再將內(nèi)部變量調(diào)出,

而機(jī)器人編程不同,實(shí)際物體通常必須重新定位。03

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

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

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

的影響較大。03

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

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

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

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

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

很難考慮。03

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

孔進(jìn)行定位。03

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

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

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

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

誤。顯而易見(jiàn),代碼如何從錯(cuò)誤中恢復(fù)過(guò)來(lái),可能成為操作臂編程的主要部分。在操作臂編程中利用并行操作可能使誤差恢復(fù)更加復(fù)雜。當(dāng)幾個(gè)進(jìn)程同時(shí)運(yùn)行并且其

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

并允許其他進(jìn)程繼續(xù)執(zhí)行。有時(shí),必須對(duì)幾個(gè)或全部運(yùn)行程序進(jìn)行復(fù)位。典型機(jī)器人編程語(yǔ)言0404

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

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

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

C++語(yǔ)言PythonMATLABJava04

典型機(jī)器人編程語(yǔ)言04

典型機(jī)器人編程語(yǔ)言13.4.1C/C++語(yǔ)言一般認(rèn)為,機(jī)器人技術(shù)的第一編程語(yǔ)言是C和C++,因?yàn)楹芏嘤布?kù)都使用這兩種語(yǔ)言,它們?cè)试S與低級(jí)硬件進(jìn)行交互,是允許實(shí)時(shí)性能和成熟的編程語(yǔ)言。使用C實(shí)現(xiàn)相同的功能可能需要相當(dāng)長(zhǎng)的時(shí)間,并且需要更多的代碼行。然而,由于機(jī)器人非常依賴于實(shí)時(shí)性能,C和C++是最接近機(jī)器人科學(xué)家心目中的“標(biāo)準(zhǔn)”編程語(yǔ)言。C#/C.NET是微軟提供的限制性編程語(yǔ)言。微軟機(jī)器人工程師工作室將其作為其基本語(yǔ)言。想

要長(zhǎng)期地提高自身的編碼能力,首先學(xué)習(xí)C/C++不失為一個(gè)

好的選擇。04

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

模式進(jìn)行。05

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

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

作任務(wù)。05

離線編程系統(tǒng)要點(diǎn)一個(gè)好的用戶接口可以讓非編程人員從頭到尾地完成許多操作。此外,離線編程系統(tǒng)應(yīng)該可以把非編程人員示教的坐標(biāo)系和動(dòng)作順序轉(zhuǎn)換成機(jī)器人編程語(yǔ)言。這些簡(jiǎn)單的程序可以由經(jīng)驗(yàn)豐富的編程人員以機(jī)器人編程語(yǔ)言的形式加以改進(jìn)。對(duì)于編程人員來(lái)說(shuō),得到機(jī)器人編程語(yǔ)言后可以通過(guò)任意代碼編程實(shí)現(xiàn)更為復(fù)雜的操作。05

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

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

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

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

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

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

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

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

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

為了預(yù)測(cè)通信和運(yùn)動(dòng)同步的問(wèn)題(例如死鎖),也要求對(duì)運(yùn)動(dòng)

的時(shí)間屬性進(jìn)行精確仿真。05

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

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

進(jìn)行仿真。在語(yǔ)言中加入信號(hào)及等待單元可以使機(jī)器人之間的

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

離線編程系統(tǒng)要點(diǎn)13.5.8傳感器仿真機(jī)器人程序中的大部分語(yǔ)句并不是運(yùn)動(dòng)語(yǔ)句,而是初始化、錯(cuò)誤檢查、輸入/輸出以及其他一些語(yǔ)句。因此,離線編程系統(tǒng)應(yīng)當(dāng)能夠?qū)Σ僮鬟^(guò)程提供一個(gè)全面的仿真環(huán)境,包括與傳感器、各種輸人/輸出、設(shè)備通信與其他設(shè)備交互的環(huán)境。一個(gè)支持傳感器及多任務(wù)仿真的離線編程系統(tǒng)不僅可以檢驗(yàn)機(jī)器人運(yùn)動(dòng)的可行性,而且也能對(duì)機(jī)器人程序中的通信及同步性進(jìn)行校驗(yàn)。05

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論