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