從世界上第一臺遙控機械手的誕生至今已有50年了,在這短短的幾年里,伴隨著計算機、自動控制理論的發(fā)展和工業(yè)生產(chǎn)的需要及相關(guān)技術(shù)的進步,機器人的發(fā)展已經(jīng)歷了3代[1]:(1)可編程的示教再現(xiàn)型機器人;(2)基于傳感器控制具有一定自主能力的機器人;(3)智能機器人.作為機器人的核心部分,機器人控制器是影響機器人性能的關(guān)鍵部分之一.它從一定程度上影響著機器人的發(fā)展.目前,由于人工智能、計算機科學(xué)、傳感器技術(shù)及其它相關(guān)學(xué)科的長足進步,使得機器人的研究在高水平上進行,同時也為機器人控制器的性能提出更高的要求.
對于不同類型的機器人,如有腿的步行機器人與關(guān)節(jié)型工業(yè)機器人,控制系統(tǒng)的綜合方法有較大差別,控制器的設(shè)計方案也不一樣.本文僅討論工業(yè)機器人控制器問題.
機器人控制器是根據(jù)指令以及傳感信息控制機器人完成一定的動作或作業(yè)任務(wù)的裝置,它是機器人的心臟,決定了機器人性能的優(yōu)劣.
從機器人控制算法的處理方式來看,可分為串行、并行兩種結(jié)構(gòu)類型.
2.1 串行處理結(jié)構(gòu)
所謂的串行處理結(jié)構(gòu)是指機器人的控制算法是由串行機來處理.對于這種類型的控制器,從計算機結(jié)構(gòu)、控制方式來劃分,又可分為以下幾種[2].
?。?) 單CPU結(jié)構(gòu)、集中控制方式
用一臺功能較強的計算機實現(xiàn)全部控制功能.在早期的機器人中,如Hero-I, Robot-I等,就采用這種結(jié)構(gòu),但控制過程中需要許多計算(如坐標變換),因此這種控制結(jié)構(gòu)速度較慢.
?。?) 二級CPU結(jié)構(gòu)、主從式控制方式
一級CPU為主機,擔(dān)當(dāng)系統(tǒng)管理、機器人語言編譯和人機接口功能,同時也利用它的運算能力完成坐標變換、軌跡插補,并定時地把運算結(jié)果作為關(guān)節(jié)運動的增量送到公用內(nèi)存,供二級CPU讀??;二級CPU完成全部關(guān)節(jié)位置數(shù)字控制.這類系統(tǒng)的兩個CPU總線之間基本沒有聯(lián)系,僅通過公用內(nèi)存交換數(shù)據(jù),是一個松耦合的關(guān)系.對采用更多的CPU進一步分散功能是很困難的.日本于70年代生產(chǎn)的Motoman機器人(5關(guān)節(jié),直流電機驅(qū)動)的計算機系統(tǒng)就屬于這種主從式結(jié)構(gòu).
(3) 多CPU結(jié)構(gòu)、分布式控制方式
目前,普遍采用這種上、下位機二級分布式結(jié)構(gòu),上位機負責(zé)整個系統(tǒng)管理以及運動學(xué)計算、軌跡規(guī)劃等.下位機由多CPU組成,每個CPU控制一個關(guān)節(jié)運動,這些CPU和主控機聯(lián)系是通過總線形式的緊耦合.這種結(jié)構(gòu)的控制器工作速度和控制性能明顯提高.但這些多CPU系統(tǒng)共有的特征都是針對具體問題而采用的功能分布式結(jié)構(gòu),即每個處理器承擔(dān)固定任務(wù).目前世界上大多數(shù)商品化機器人控制器都是這種結(jié)構(gòu).
控制器計算機控制系統(tǒng)中的位置控制部分,幾乎無例外地采用數(shù)字式位置控制.
以上幾種類型的控制器都是采用串行機來計算機器人控制算法.它們存在一個共同的弱點:計算負擔(dān)重、實時性差.所以大多采用離線規(guī)劃和前饋補償解耦等方法來減輕實時控制中的計算負擔(dān).當(dāng)機器人在運行中受到干擾時其性能將受到影響,更難以保證高速運動中所要求的精度指標.
由于機器人控制算法的復(fù)雜性以及機器人控制性能的亟待提高,許多學(xué)者從建模、算法等多方面進行了減少計算量的努力,但仍難以在串行結(jié)構(gòu)控制器上滿足實時計算的要求.因此,必須從控制器本身尋求解決辦法.方法之一是選用高檔次微機或小型機;另一種方法就是采用多處理器作并行計算,提高控制器的計算能力.
2.2 并行處理結(jié)構(gòu)
并行處理技術(shù)是提高計算速度的一個重要而有效的手段,能滿足機器人控制的實時性要求.從文獻來看,關(guān)于機器人控制器并行處理技術(shù),人們研究較多的是機器人運動學(xué)和動力學(xué)的并行算法及其實現(xiàn).1982年J.Y.S.Luh[3]首次提出機器人動力學(xué)并行處理問題,這是因為關(guān)節(jié)型機器人的動力學(xué)方程是一組非線性強耦合的二階微分方程,計算十分復(fù)雜.提高機器人動力學(xué)算法計算速度也為實現(xiàn)復(fù)雜的控制算法如:計算力矩法、非線性前饋法、自適應(yīng)控制法等打下基礎(chǔ).開發(fā)并行算法的途徑之一就是改造串行算法,使之并行化,然后將算法映射到并行結(jié)構(gòu).一般有兩種方式,一是考慮給定的并行處理器結(jié)構(gòu),根據(jù)處理器結(jié)構(gòu)所支持的計算模型,開發(fā)算法的并行性;二是首先開發(fā)算法的并行性,然后設(shè)計支持該算法的并行處理器結(jié)構(gòu),以達到最佳并行效率.
構(gòu)造并行處理結(jié)構(gòu)的機器人控制器的計算機系統(tǒng)一般采用以下方式:
?。?)開發(fā)機器人控制專用VLSI[4,5]
設(shè)計專用VLSI能充分利用機器人控制算法的并行性,依靠芯片內(nèi)的并行體系結(jié)構(gòu)易于解決機器人控制算法中大量出現(xiàn)的計算,能大大提高運動學(xué)、動力學(xué)方程的計算速度.但由于芯片是根據(jù)具體的算法來設(shè)計的,當(dāng)算法改變時,芯片則不能使用,因此采用這種方式構(gòu)造的控制器不通用,更不利于系統(tǒng)的維護與開發(fā).
?。?)利用有并行處理能力的芯片式計算機(如:Transputer, DSP等)構(gòu)成并行處理網(wǎng)絡(luò)
Transputer是英國Inmos公司研制并生產(chǎn)的一種并行處理用的芯片式計算機.利用 Transputer芯片的4對位串通信的link對,易于構(gòu)造不同的拓撲結(jié)構(gòu),且Transputer具有極強的計算能力.利用Transputer并行處理器,人們構(gòu)造了各種機器人并行處理器,如流水線型、樹型等.文獻[6]利用Transputer網(wǎng)絡(luò)實現(xiàn)逆運動學(xué)計算,而文獻[7]以實時控制為目的,分別實現(xiàn)了前饋補償及計算力矩兩種基于固定模型的控制方案.
隨著數(shù)字信號芯片速度的不斷提高,高速數(shù)字信號處理器(DSP)在信息處理的各個方面得到廣泛應(yīng)用.DSP以極快的數(shù)字運算速度見長,并易于構(gòu)成并行處理網(wǎng)絡(luò)[8].文獻[9]介紹了一種基于DSP的機器人控制器,采用并行/流水線的設(shè)計方案,提高控制器性能.
?。?)利用通用的微處理器
利用通用微處理器構(gòu)成并行處理結(jié)構(gòu),支持計算,實現(xiàn)復(fù)雜控制策略在線實時計算.如文獻[10,11]中設(shè)計的系統(tǒng).
3、機器人控制器存在的問題
隨著現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展和社會的進步,對機器人的性能提出更高的要求.智能機器人技術(shù)的研究已成為機器人領(lǐng)域的主要發(fā)展方向,如各種精密裝配機器人,力/位置混合控制機器人,多肢體協(xié)調(diào)控制系統(tǒng)以及先進制造系統(tǒng)中的機器人的研究等.相應(yīng)的,對機器人控制器的性能也提出了更高的要求.
但是,機器人自誕生以來,特別是工業(yè)機器人所采用的控制器基本上都是開發(fā)者基于自己的獨立結(jié)構(gòu)進行開發(fā)的,采用專用計算機、專用機器人語言、專用操作系統(tǒng)、專用微處理器.這樣的機器人控制器已不能滿足現(xiàn)代工業(yè)發(fā)展的要求.
從前面提到的兩類機器人控制器來看,串行處理結(jié)構(gòu)控制器的結(jié)構(gòu)封閉,功能單一,且計算能力差,難以保證實時控制的要求,所以目前絕大多數(shù)商用機器人都是采用單軸PID控制,難以滿足機器人控制的高速、高精度的要求.雖然分布式結(jié)構(gòu)在一定層次上是開放的,可以根據(jù)需要增加更多的處理器,以滿足傳感器處理和通訊的需要,但它只是在有限范圍內(nèi)開放.所采用的如文獻[12]所說的“專用計算機(如PUMA機器人采用PDP-11作為上層主控計算機)、專用機器人語言(如VAL)、專用微處理器并將控制算法固定在EPROM中”結(jié)構(gòu)限制了它的可擴展性和靈活性,因此說它的結(jié)構(gòu)是封閉的.
并行處理結(jié)構(gòu)控制器雖然能從計算速度上有了很大突破,能保證實時控制的需要,但我們必須看到還存在許多問題.目前的并行處理控制器研究一般集中于機器人運動學(xué)、動力學(xué)模型的并行處理方面,基于并行算法和多處理器結(jié)構(gòu)的映射特征來設(shè)計,即通過分解給定任務(wù),得到若干子任務(wù),列出數(shù)據(jù)相關(guān)流圖,實現(xiàn)各子任務(wù)在對應(yīng)處理器上的并行處理.由于并行算法中通訊、同步等內(nèi)在特點,如程序設(shè)計不當(dāng)則易出現(xiàn)鎖死與通訊堵塞等現(xiàn)象.
綜合起來,現(xiàn)有機器人控制器存在很多問題,如:
(1)開放性差
局限于“專用計算機、專用機器人語言、專用微處理器”的封閉式結(jié)構(gòu).封閉的控制器結(jié)構(gòu)使其具有特定的功能、適應(yīng)于特定的環(huán)境,不便于對系統(tǒng)進行擴展和改進.
(2)軟件獨立性差
軟件結(jié)構(gòu)及其邏輯結(jié)構(gòu)依賴于處理器硬件,難以在不同的系統(tǒng)間移植.
(3)容錯性差
由于并行計算中的數(shù)據(jù)相關(guān)性、通訊及同步等內(nèi)在特點,控制器的容錯性能變差,其中一個處理器出故障可能導(dǎo)致整個系統(tǒng)的癱瘓.
?。?)擴展性差
目前,機器人控制器的研究著重于從關(guān)節(jié)這一級來改善和提高系統(tǒng)的性能.由于結(jié)構(gòu)的封閉性,難以根據(jù)需要對系統(tǒng)進行擴展,如增加傳感器控制等功能模塊.
?。?)缺少網(wǎng)絡(luò)功能
現(xiàn)在幾乎所有的機器人控制器都沒有網(wǎng)絡(luò)功能.
總起來看,前面提到的無論串行結(jié)構(gòu)還是并行結(jié)構(gòu)的機器人控制器都不是開放式結(jié)構(gòu),無論從軟件還是硬件都難以擴充和更改.例如,商品化的Motoman機器人的控制器是不開放的,用戶難以根據(jù)自己需要對其修改、擴充功能,通常的做法是對其詳細解剖分析,然后對其改造.
隨著機器人控制技術(shù)的發(fā)展,針對結(jié)構(gòu)封閉的機器人控制器的缺陷,開發(fā)“具有開放式結(jié)構(gòu)的模塊化、標準化機器人控制器”是當(dāng)前機器人控制器的一個發(fā)展方向.近幾年,日本、美國和歐洲一些國家都在開發(fā)具有開放式結(jié)構(gòu)的機器人控制器,如日本安川公司基于PC開發(fā)的具有開放式結(jié)構(gòu)、網(wǎng)絡(luò)功能的機器人控制器[13].我國863計劃智能機器人主題也已對這方面的研究立項[14].
開放式結(jié)構(gòu)機器人控制器是指:控制器設(shè)計的各個層次對用戶開放,用戶可以方便的擴展和改進其性能.其主要思想[15]是:
(1)利用基于非封閉式計算機平臺的開發(fā)系統(tǒng),如Sun, SGI, PC’s.有效利用標準計算機平臺的軟、硬件資源為控制器擴展創(chuàng)造條件.
?。?)利用標準的操作系統(tǒng),如Unix,Vxwork和標準的控制語言,如C,C++.采用標準操作系統(tǒng)和控制語言,從而可以改變各種專用機器人語言并存且互不兼容的局面.
?。?)采用標準總線結(jié)構(gòu),使得為擴展控制器性能而必須的硬件,如各種傳感器,I/O板、運動控制板可以很容易的集成到原系統(tǒng).
?。?)利用網(wǎng)絡(luò)通訊,實現(xiàn)資源共享或遠程通訊.目前,幾乎所有的控制器都沒有網(wǎng)絡(luò)功能,利用網(wǎng)絡(luò)通訊功能可以提高系統(tǒng)變化的柔性.
我們可以根據(jù)上述思想設(shè)計具有開放式結(jié)構(gòu)的機器人控制器.而且設(shè)計過程中要盡可能做到模塊化.模塊化是系統(tǒng)設(shè)計和建立的一種現(xiàn)代方法,按模塊化方法設(shè)計,系統(tǒng)由多種功能模塊組成,各模塊完整而單一.這樣建立起來的系統(tǒng),不僅性能好、開發(fā)周期短而且成本較低.模塊化還使系統(tǒng)開放,易于修改、重構(gòu)和添加配置功能.文獻[16]基于多自主體概念設(shè)計的新型控制器就是按模塊化方法設(shè)計的,系統(tǒng)由數(shù)據(jù)庫模塊、通訊模塊、傳感器信息模塊、人機接口模塊、調(diào)度模塊、規(guī)劃模塊、伺服控制模塊等7個模塊構(gòu)成.
新型的機器人控制器應(yīng)有以下特色:
(1) 開放式系統(tǒng)結(jié)構(gòu)
采用開放式軟件、硬件結(jié)構(gòu),可以根據(jù)需要方便的擴充功能,使其適用不同類型機器人或機器人化自動生產(chǎn)線.
(2) 合理的模塊化設(shè)計
對硬件來說,根據(jù)系統(tǒng)要求和電氣特性,按模塊化設(shè)計,這不僅方便安裝和維護,而且提高了系統(tǒng)的可靠性,系統(tǒng)結(jié)構(gòu)也更為緊湊.
(3) 有效的任務(wù)劃分
不同的子任務(wù)由不同的功能模塊實現(xiàn),以利于修改、添加、配置功能.
?。?) 實時性、多任務(wù)要求
機器人控制器必須能在確定的時間內(nèi)完成對外部中斷的處理,并且可以使多個任務(wù)同時進行.
(5) 網(wǎng)絡(luò)通訊功能
利用網(wǎng)絡(luò)通訊的功能,以便于實現(xiàn)資源共享或多臺機器人協(xié)同工作.
?。?)形象直觀的人機接口
另外,機器人控制器中,運動控制板是必不可少的.由于機器人性能的不同,對運動控制板的要求也不同.美國Delta Tau公司推出的PMAC(Programmable Multi-axies Controller)在國內(nèi)外引起重視.PMAC是一種功能強大的運動控制器,它全面地開發(fā)了DSP技術(shù)的強大功能,為用戶提供了很強的功能和很大的靈活性.借助于Motorola 公司的DSP56001數(shù)字信號處理器,PMAC可以同時操縱1~8軸,比起其他運動控制板來說,有很多可取之處.
由于適用于機器人控制的軟、硬件種類繁多和現(xiàn)代技術(shù)的飛速發(fā)展,開發(fā)一個結(jié)構(gòu)完全開放的標準化機器人控制器存在一定困難,但應(yīng)用現(xiàn)有技術(shù),如工業(yè)PC良好的開放性、安全性和聯(lián)網(wǎng)性,標準的實時多任務(wù)操作系統(tǒng),標準的總線結(jié)構(gòu),標準接口等,打破現(xiàn)有機器人控制器結(jié)構(gòu)封閉的局面,開發(fā)結(jié)構(gòu)開放性、功能模塊化的標準化機器人控制器是完全可行的.
5 結(jié)束語
隨著機器人技術(shù)的發(fā)展,機器人應(yīng)用領(lǐng)域的不斷擴大,對機器人的性能提出了更高的要求,因此,如何有效地將其他領(lǐng)域(如圖像處理、聲音識別、最優(yōu)控制、人工智能等)的研究成果應(yīng)用到機器人控制系統(tǒng)的實時操作中,是一項富有挑戰(zhàn)性的研究工作.而具有開放式結(jié)構(gòu)的模塊化、標準化機器人控制器的研究無疑對提高機器人性能和自主能力、推動機器人技術(shù)的發(fā)展具有重大意義.
以下的10個問題將在您選擇機器人控制器時提供幫助:
1. 機器人實際的途徑是密集的還是分撿(pick and place)的對途徑函數(shù)軟件優(yōu)化將不會滿足高速應(yīng)用的要求;
2. I/O響應(yīng)的速度多快?當(dāng)大多數(shù)I/O設(shè)備能以毫秒級的速度響應(yīng),一些功能如強制停止(stop-on-force)或運動鎖定需要微秒級的響應(yīng);
3. 傳感器在哪里?如果傳感器在控制器的外部,確保足夠的處理和通信帶寬;
4. 你安全嗎?確保符合安全標準,包括ANSI 15.06;
5. 具有全球性嗎?如何答案是肯定的,保證你的控制器(或系統(tǒng))有CE標志;
6. 你的開放性結(jié)構(gòu)是否仍然保持著它的開放性?如果你計劃要增加第三方板卡或軟件,要確認銷售商的許可;
7. 你熟悉你的網(wǎng)絡(luò)嗎?保證你能詳細了解你的硬件連接和所使用的軟件協(xié)議;
8. 需要雙重機器人嗎?如果在一個單元中使用了兩個機器人,確認是需要一個控制器還是兩個;
9. 軟件功能足夠強大嗎?軟件性能要和實際應(yīng)用相匹配;
10. 是另外一個控制器嗎?可采用傳統(tǒng)的控制方法指導(dǎo),確定I/O性能時;選擇和設(shè)計圖形用戶界面;提供電源絕緣和備份,外殼和其他連接器
聯(lián)系客服