摘 要 機器人控制器是影響機器人性能的關鍵部分之一,它從一定程度上影響著機器人的發展。本文介紹了目前機器人控制器的現狀,分析了它們各自的優點和不足,探討了機器人控制器的發展方向和要著重解決的問題。
關鍵詞 機器人控制器 ,開放式結構,模塊化
CURRENT STATE AND TENDENCIES IN THE DEVELOPMENT
OF ROBOT CONTROLLER
FAN Yong TAN Min
(Institute of Automation, Chinese Academy of Science, Beijing 100080)
Abstract Robot controller is the key component of a robot. It has a great effect on the development of robot. This paper gives a brief overview of the current state of the robot controllers. The advantages and disadvantages are analyzed. In the following it is to explore the key problems and treands of robot controller.
Key words Robot controller, open architecture, modularity
1 引言
從世界上第一臺遙控機械手的誕生至今已有50年了,在這短短的幾年里,伴隨著計算機、自動控制理論的發展和工業生產的需要及相關技術的進步,機器人的發展已經歷了3代[1]:(1)可編程的示教再現型機器人;(2)基于傳感器控制具有一定自主能力的機器人;(3)智能機器人。作為機器人的核心部分,機器人控制器是影響機器人性能的關鍵部分之一。它從一定程度上影響著機器人的發展。目前,由于人工智能、計算機科學、傳感器技術及其它相關學科的長足進步,使得機器人的研究在高水平上進行,同時也為機器人控制器的性能提出更高的要求。
對于不同類型的機器人,如有腿的步行機器人與關節型工業機器人,控制系統的綜合方法有較大差別,控制器的設計方案也不一樣。本文僅討論工業機器人控制器問題。
2 機器人控制器類型
機器人控制器是根據指令以及傳感信息控制機器人完成一定的動作或作業任務的裝置,它是機器人的心臟,決定了機器人性能的優劣。
從機器人控制算法的處理方式來看,可分為串行、并行兩種結構類型。
2.1 串行處理結構
所謂的串行處理結構是指機器人的控制算法是由串行機來處理。對于這種類型的控制器,從計算機結構、控制方式來劃分,又可分為以下幾種[2]。
(1) 單CPU結構、集中控制方式
用一臺功能較強的計算機實現全部控制功能。在早期的機器人中,如Hero-I, Robot-I等,就采用這種結構,但控制過程中需要許多計算(如坐標變換),因此這種控制結構速度較慢。
(2) 二級CPU結構、主從式控制方式
一級CPU為主機,擔當系統管理、機器人語言編譯和人機接口功能,同時也利用它的運算能力完成坐標變換、軌跡插補,并定時地把運算結果作為關節運動的增量送到公用內存,供二級CPU讀取;二級CPU完成全部關節位置數字控制。
這類系統的兩個CPU總線之間基本沒有聯系,僅通過公用內存交換數據,是一個松耦合的關系。對采用更多的CPU進一步分散功能是很困難的。日本于70年代生產的Motoman機器人(5關節,直流電機驅動)的計算機系統就屬于這種主從式結構。
(3) 多CPU結構、分布式控制方式
目前,普遍采用這種上、下位機二級分布式結構,上位機負責整個系統管理以及運動學計算、軌跡規劃等。下位機由多CPU組成,每個CPU控制一個關節運動,這些CPU和主控機聯系是通過總線形式的緊耦合。這種結構的控制器工作速度和控制性能明顯提高。但這些多CPU系統共有的特征都是針對具體問題而采用的功能分布式結構,即每個處理器承擔固定任務。目前世界上大多數商品化機器人控制器都是這種結構。
控制器計算機控制系統中的位置控制部分,幾乎無例外地采用數字式位置控制。
以上幾種類型的控制器都是采用串行機來計算機器人控制算法。它們存在一個共同的弱點:計算負擔重、實時性差。所以大多采用離線規劃和前饋補償解耦等方法來減輕實時控制中的計算負擔。當機器人在運行中受到干擾時其性能將受到影響,更難以保證高速運動中所要求的精度指標。
由于機器人控制算法的復雜性以及機器人控制性能的亟待提高,許多學者從建模、算法等多方面進行了減少計算量的努力,但仍難以在串行結構控制器上滿足實時計算的要求。因此,必須從控制器本身尋求解決辦法。方法之一是選用高檔次微機或小型機;另一種方法就是采用多處理器作并行計算,提高控制器的計算能力。
2.2 并行處理結構
并行處理技術是提高計算速度的一個重要而有效的手段,能滿足機器人控制的實時性要求。從文獻來看,關于機器人控制器并行處理技術,人們研究較多的是機器人運動學和動力學的并行算法及其實現。1982年J.Y.S.Luh[3]首次提出機器人動力學并行處理問題,這是因為關節型機器人的動力學方程是一組非線性強耦合的二階微分方程,計算十分復雜。提高機器人動力學算法計算速度也為實現復雜的控制算法如:計算力矩法、非線性前饋法、自適應控制法等打下基礎。開發并行算法的途徑之一就是改造串行算法,使之并行化,然后將算法映射到并行結構。一般有兩種方式,一是考慮給定的并行處理器結構,根據處理器結構所支持的計算模型,開發算法的并行性;二是首先開發算法的并行性,然后設計支持該算法的并行處理器結構,以達到最佳并行效率。
構造并行處理結構的機器人控制器的計算機系統一般采用以下方式:
(1)開發機器人控制專用VLSI[4,5]
設計專用VLSI能充分利用機器人控制算法的并行性,依靠芯片內的并行體系結構易于解決機器人控制算法中大量出現的計算,能大大提高運動學、動力學方程的計算速度。但由于芯片是根據具體的算法來設計的,當算法改變時,芯片則不能使用,因此采用這種方式構造的控制器不通用,更不利于系統的維護與開發。
(2)利用有并行處理能力的芯片式計算機(如:Transputer, DSP等)構成并行處理網絡
Transputer是英國Inmos公司研制并生產的一種并行處理用的芯片式計算機。利用 Transputer芯片的4對位串通信的link對,易于構造不同的拓撲結構,且Transputer具有極強的計算能力。利用Transputer并行處理器,人們構造了各種機器人并行處理器,如流水線型、樹型等。文獻[6]利用Transputer網絡實現逆運動學計算,而文獻[7]以實時控制為目的,分別實現了前饋補償及計算力矩兩種基于固定模型的控制方案。
隨著數字信號芯片速度的不斷提高,高速數字信號處理器(DSP)在信息處理的各個方面得到廣泛應用。DSP以極快的數字運算速度見長,并易于構成并行處理網絡[8]。文獻[9]介紹了一種基于DSP的機器人控制器,采用并行/流水線的設計方案,提高控制器性能。
(3)利用通用的微處理器
利用通用微處理器構成并行處理結構,支持計算,實現復雜控制策略在線實時計算。如文獻[10,11]中設計的系統。
3 機器人控制器存在的問題
隨著現代科學技術的飛速發展和社會的進步,對機器人的性能提出更高的要求。
智能機器人技術的研究已成為機器人領域的主要發展方向,如各種精密裝配機器人,力/位置混合控制機器人,多肢體協調控制系統以及先進制造系統中的機器人的研究等。相應的,對機器人控制器的性能也提出了更高的要求。
但是,機器人自誕生以來,特別是工業機器人所采用的控制器基本上都是開發者基于自己的獨立結構進行開發的,采用專用計算機、專用機器人語言、專用操作系統、專用微處理器。這樣的機器人控制器已不能滿足現代工業發展的要求。
從前面提到的兩類機器人控制器來看,串行處理結構控制器的結構封閉,功能單一,且計算能力差,難以保證實時控制的要求,所以目前絕大多數商用機器人都是采用單軸PID控制,難以滿足機器人控制的高速、高精度的要求。雖然分布式結構在一定層次上是開放的,可以根據需要增加更多的處理器,以滿足傳感器處理和通訊的需要,但它只是在有限范圍內開放。所采用的如文獻[12]所說的“專用計算機(如PUMA機器人采用PDP-11作為上層主控計算機)、專用機器人語言(如VAL)、專用微處理器并將控制算法固定在EPROM中”結構限制了它的可擴展性和靈活性,因此說它的結構是封閉的。
并行處理結構控制器雖然能從計算速度上有了很大突破,能保證實時控制的需要,但我們必須看到還存在許多問題。目前的并行處理控制器研究一般集中于機器人運動學、動力學模型的并行處理方面,基于并行算法和多處理器結構的映射特征來設計,即通過分解給定任務,得到若干子任務,列出數據相關流圖,實現各子任務在對應處理器上的并行處理。由于并行算法中通訊、同步等內在特點,如程序設計不當則易出現鎖死與通訊堵塞等現象。
綜合起來,現有機器人控制器存在很多問題,如:
(1)開放性差
局限于“專用計算機、專用機器人語言、專用微處理器”的封閉式結構。封閉的控制器結構使其具有特定的功能、適應于特定的環境,不便于對系統進行擴展和改進。
(2)軟件獨立性差
軟件結構及其邏輯結構依賴于處理器硬件,難以在不同的系統間移植。
(3)容錯性差
由于并行計算中的數據相關性、通訊及同步等內在特點,控制器的容錯性能變差,其中一個處理器出故障可能導致整個系統的癱瘓。
(4)擴展性差
目前,機器人控制器的研究著重于從關節這一級來改善和提高系統的性能。由于結構的封閉性,難以根據需要對系統進行擴展,如增加傳感器控制等功能模塊。
(5)缺少網絡功能
現在幾乎所有的機器人控制器都沒有網絡功能。
總起來看,前面提到的無論串行結構還是并行結構的機器人控制器都不是開放式結構,無論從軟件還是硬件都難以擴充和更改。
例如,商品化的Motoman機器人的控制器是不開放的,用戶難以根據自己需要對其修改、擴充功能,通常的做法是對其詳細解剖分析,然后對其改造。
4 機器人控制器的展望
隨著機器人控制技術的發展,針對結構封閉的機器人控制器的缺陷,開發“具有開放式結構的模塊化、標準化機器人控制器”是當前機器人控制器的一個發展方向。近幾年,日本、美國和歐洲一些國家都在開發具有開放式結構的機器人控制器,如日本安川公司基于PC開發的具有開放式結構、網絡功能的機器人控制器[13]。我國863計劃智能機器人主題也已對這方面的研究立項[14]。
開放式結構機器人控制器是指:控制器設計的各個層次對用戶開放,用戶可以方便的擴展和改進其性能。其主要思想[15]是:
(1)利用基于非封閉式計算機平臺的開發系統,如Sun, SGI, PC's.有效利用標準計算機平臺的軟、硬件資源為控制器擴展創造條件。
(2)利用標準的操作系統,如Unix,Vxwork和標準的控制語言,如C,C++.采用標準操作系統和控制語言,從而可以改變各種專用機器人語言并存且互不兼容的局面。
(3)采用標準總線結構,使得為擴展控制器性能而必須的硬件,如各種傳感器,I/O板、運動控制板可以很容易的集成到原系統。
(4)利用網絡通訊,實現資源共享或遠程通訊。目前,幾乎所有的控制器都沒有網絡功能,利用網絡通訊功能可以提高系統變化的柔性。
我們可以根據上述思想設計具有開放式結構的機器人控制器。而且設計過程中要盡可能做到模塊化。模塊化是系統設計和建立的一種現代方法,按模塊化方法設計,系統由多種功能模塊組成,各模塊完整而單一。這樣建立起來的系統,不僅性能好、開發周期短而且成本較低。模塊化還使系統開放,易于修改、重構和添加配置功能。文獻[16]基于多自主體概念設計的新型控制器就是按模塊化方法設計的,系統由數據庫模塊、通訊模塊、傳感器信息模塊、人機接口模塊、調度模塊、規劃模塊、伺服控制模塊等7個模塊構成。
新型的機器人控制器應有以下特色:
(1) 開放式系統結構
采用開放式軟件、硬件結構,可以根據需要方便的擴充功能,使其適用不同類型機器人或機器人化自動生產線。
(2) 合理的模塊化設計
對硬件來說,根據系統要求和電氣特性,按模塊化設計,這不僅方便安裝和維護,而且提高了系統的可靠性,系統結構也更為緊湊。
(3) 有效的任務劃分
不同的子任務由不同的功能模塊實現,以利于修改、添加、配置功能。
(4) 實時性、多任務要求
機器人控制器必須能在確定的時間內完成對外部中斷的處理,并且可以使多個任務同時進行。
(5) 網絡通訊功能
利用網絡通訊的功能,以便于實現資源共享或多臺機器人協同工作。
(6)形象直觀的人機接口
另外,機器人控制器中,運動控制板是必不可少的。由于機器人性能的不同,對運動控制板的要求也不同。美國Delta Tau公司推出的PMAC(Programmable Multi-axies Controller)在國內外引起重視。PMAC是一種功能強大的運動控制器,它全面地開發了DSP技術的強大功能,為用戶提供了很強的功能和很大的靈活性。借助于Motorola 公司的DSP56001數字信號處理器,PMAC可以同時操縱1~8軸,比起其他運動控制板來說,有很多可取之處。
由于適用于機器人控制的軟、硬件種類繁多和現代技術的飛速發展,開發一個結構完全開放的標準化機器人控制器存在一定困難,但應用現有技術,如工業PC良好的開放性、安全性和聯網性,標準的實時多任務操作系統,標準的總線結構,標準接口等,打破現有機器人控制器結構封閉的局面,開發結構開放性、功能模塊化的標準化機器人控制器是完全可行的。
5 結束語
隨著機器人技術的發展,機器人應用領域的不斷擴大,對機器人的性能提出了更高的要求,因此,如何有效地將其他領域(如圖像處理、聲音識別、最優控制、人工智能等)的研究成果應用到機器人控制系統的實時操作中,是一項富有挑戰性的研究工作。而具有開放式結構的模塊化、標準化機器人控制器的研究無疑對提高機器人性能和自主能力、推動機器人技術的發展具有重大意義。
業務咨詢:932174181 媒體合作:2279387437 24小時服務熱線:15136468001 盤古機械網 - 全面、科學的機械行業免費發布信息網站 Copyright 2017 PGJXO.COM 豫ICP備12019803號