機器人的運動控制方法看似非常簡單:有驅(qū)動器的支持末端執(zhí)行器快速準確的到達指定的位置,當然也會涉及一些調(diào)整,和所有工程決策一樣,取決于給定應(yīng)用的最優(yōu)結(jié)果相關(guān)的優(yōu)先級設(shè)置。機器人運動控制系統(tǒng)選型從基礎(chǔ)專用功能IC到高集成非常靈活的MCU,集成豐富的輔助和支持功能。
現(xiàn)在復(fù)雜的機器人手臂的控制,無論它們的大小與功率,都需要多軸同步管理才能實現(xiàn)動作控制。現(xiàn)代電子器件——電動機、電源切換器件(MOSFET、IGBT)、設(shè)備驅(qū)動、控制系統(tǒng)(現(xiàn)在主要是數(shù)字化、之前是模擬控制)、反饋傳感器——使得精確的動作控制相比幾年前顯得更加簡單(如圖1所示)。然而與此同時對于系統(tǒng)性能需要也明顯增加了,所以現(xiàn)在整個項目的搭建也是相當?shù)睦щy。
圖1:機器人基礎(chǔ)的動作控制系統(tǒng),包括算法執(zhí)行功能、電動機驅(qū)動、電源設(shè)備、反饋環(huán)節(jié);機械傳動、電動機和傳感器(在大多數(shù)情況下);關(guān)鍵節(jié)點設(shè)置電壓和電流測量和控制。
無論怎樣有一個實際情況是不可避免的:機器人是一個大型的機械系統(tǒng),因此這部分實際系統(tǒng)必須是控制回路的重要組成部分。這就涉及到齒輪反彈、機械誤差、震動、電動機性能、旋轉(zhuǎn)慣性、動量、機械結(jié)構(gòu)的彎曲程度、載荷變化等等。因此選擇哪種類型的電動機非常的重要——對于中/低功率應(yīng)用場景,通常我們會在無刷直流電動機和步進電動機之間選擇。
另一個重要的決定則是傳感器反饋。大多數(shù)機器人應(yīng)用系統(tǒng)采用某種類型的反饋傳感器來準確測量末端執(zhí)行器的行程、加速度和加速度(重申一下:速度是行程對時間的導(dǎo)數(shù),加速度是速度對時間的導(dǎo)數(shù))。反饋傳感器可以采用霍爾效應(yīng)傳感器、自動同步器或者光編碼器。由于上文提到的機械問題,盡管我們很容易的將編碼器安裝到電動機上,對于應(yīng)用準確性的要求它可能也不能夠提供末端執(zhí)行器精確的數(shù)據(jù)。因此傳感器需要安裝在距離負載端更近的位置。
一些運動控制應(yīng)用沒有傳感器,這會降低成本和機械復(fù)雜度。不采用傳感器反饋,無傳感器的面向應(yīng)用控制(FOC,也稱為矢量控制)利用的是電動機每相繞組電壓和電流的精確同步的數(shù)據(jù);然后FOC采用復(fù)雜的框架參考進行實時轉(zhuǎn)換和矩陣計算來確定電動機的轉(zhuǎn)動位置。省去傳感器降低了硬件成本,但是需要更強的計算能力和更加復(fù)雜的編程設(shè)計。很多機器人設(shè)計還是傾向于使用傳感器,因為相對于直接的傳感器讀數(shù),F(xiàn)OC不能夠提供相同水平的自信度、可行度和可靠性。
理解基礎(chǔ)的機器人系統(tǒng)配置
雖然公眾傾向于將“機器人”這個名詞與移動的、生活輔助或助手聯(lián)系起來,在工業(yè)領(lǐng)域大部分機器人系統(tǒng)都是靜止的,采用各種各樣的機械臂,通過之前的配置完成各種任務(wù)。最常見的設(shè)計如下:
? 笛卡爾機器人,設(shè)置三個線性的運動軸,分別分布在X、Y、Z平面上(如圖2所示)。這個設(shè)計主要用于挑選和放置機器、無縫應(yīng)用和基礎(chǔ)的組裝。
圖2:笛卡爾機器人是最容易理解和控制的,分別等價為X、Y、Z平面的控制?
? 柱型機器人,所有運動都限制的一個圓形的區(qū)域內(nèi)。它結(jié)合了Y平面的線性運動、Z平面的線性運動和圍繞Z軸的旋轉(zhuǎn)運動(如圖3所示)。這類機器人用于裝配、工具處理和點焊操作。
圖3:柱型機器人有兩個線性運動軸和一個旋轉(zhuǎn)軸?
? 球形或極性機器人結(jié)合了兩個旋轉(zhuǎn)節(jié)點和一個線性節(jié)點,機械臂通過反肘關(guān)節(jié)與基座連接(如圖4所示)。運動的定義則是通過一個極坐標系統(tǒng),同樣限制在一個球形區(qū)域內(nèi)。主要應(yīng)用在焊接、鑄造和工具處理等場景中。
圖4:球形或極性機器人結(jié)合了兩個旋轉(zhuǎn)軸和一個線性軸,它需要根據(jù)參考系進行大量的計算密集型轉(zhuǎn)換操作?
這里提到的方法具有三個方向的自由度,使用了線性和旋轉(zhuǎn)的結(jié)合,然而一些應(yīng)用場景僅需要一個或者兩個方向的自動度。更高級的機械臂或者鉸接式機器人集成了額外的線性和旋轉(zhuǎn)運動,具有像人一樣的靈活性(如圖5所示),一些更高級的機械臂能夠提供六、八甚至更多方向的自由度。
圖5:鉸接式機器人手臂集成了多個旋轉(zhuǎn)和線性運動模式,具有多個自由度,但是也需要在制動器和手臂之間進行仔細的協(xié)調(diào)。
其他一些設(shè)計適用不同的線性和旋轉(zhuǎn)運動的組合用于特定的應(yīng)用場景,比如平行四邊形的實現(xiàn)方案,用于精確和快速地在短距離內(nèi)實現(xiàn)移動,例如拾取和放置小型組件。隨著自由度的提升,對每個方向自由度快速、流暢、準確和同步控制的要求也呈指數(shù)級增長。
就軌跡配置文件而言
機器人的運動控制方法看似非常簡單:有驅(qū)動器的支持末端執(zhí)行器快速準確的到達指定的位置,當然也會涉及一些調(diào)整,和所有工程決策一樣,取決于給定應(yīng)用的最優(yōu)結(jié)果相關(guān)的優(yōu)先級設(shè)置。
舉個例子,如果結(jié)果偏離過大或者有可能出現(xiàn)碰撞,我們設(shè)置加速和減速過快來快速達到更高的運動速度,這樣操作能夠接收嗎?對于速度精確度控制值得嗎,要達到什么程度?加速度、速度和行程的選擇與從位置A到位置B期望的轉(zhuǎn)換有什么關(guān)聯(lián)?在某些特殊應(yīng)用中定義“最優(yōu)”的優(yōu)先級和參數(shù)的標準是什么?
機器人運動控制和其它運動控制方面的專家已經(jīng)制定了標準的軌跡配置規(guī)范,對于給定應(yīng)用能夠提供各種方法來實現(xiàn)期望的平衡方案。所有選型都涉及到根據(jù)現(xiàn)在的情形和反饋信號進行實時的計算,但是某些應(yīng)用可能會需要更重要、更高分辨率計算的需求。這些配置類型包括:
? 簡單的梯形配置,電動機以固定的加速度從零加速到期望的速度,并進行保持,然后以固定的加速度減速到零,到達指定的位置(圖6)。雖然較大的加速度能夠加速整個過程,但是整個過程可能不夠平緩,出現(xiàn)突然的變化,我們成為驟?;蛘唧E起,這樣反而會造成不準確和超量。
圖6:最簡單的運動軌跡配置方式就是梯形模式,分別設(shè)置常量加速度、常量速度、常量減速度,從起始點和目標點之間的運動控制是均勻的?
? S曲線型,這種方式比梯形模式更常見,加速度從零不斷上升,達到指定速度后不斷下降(圖7)。到達指定位置后,減速度逐漸上升然后在目標點附近減為零。實際上S型曲線可以劃分為七個不同的階段,與梯形模式的三個階段相對比。
圖7:相比梯形模式S曲線型控制更加的復(fù)雜,但是在轉(zhuǎn)換的實際路徑過程中不會出現(xiàn)突然的抖動(加速的突然變化)?
?波浪型運動控制,用戶設(shè)置一系列所要達到的位置點,運動控制器會平滑的通過所有這些點(圖8)。這種模式在靈活性和控制上都具有最大的優(yōu)越性,對于高級的運行控制場景非常有必要。實現(xiàn)平滑的曲線控制和計算過程都非常的復(fù)雜,盡管需要非常大的計算量,但是由于舍入或截斷誤差需要在保證分辨率的情況下實現(xiàn)。
圖8:波浪型運動控制允許用戶在起始點和目標點之間定義一系列的位置標記點,控制器需要控制末端執(zhí)行器平滑的通過這些點?
當然還有其他的運動控制配置模型,這與專用應(yīng)用場景或者行業(yè)有關(guān),無論哪種控制模式,首先要先明確需求然后是如何實現(xiàn)。眾所周知高效的PID閉環(huán)控制算法是驅(qū)動電動機和末端執(zhí)行器最常用的方法,具有足夠高的準確度和精密度(參考1)。
單個軸的高效控制是非常好實現(xiàn)的,但是機器人的控制則變得非常的復(fù)雜,因為他需要擴展兩個、三個甚至更多的電動機以及不同的自由度,當其中一個獨立組件的狀態(tài)變化時,我們需要及時的同步和協(xié)調(diào)其他的組件,實現(xiàn)我們所期望的功能和性能要求。
標準vs自定義運動控制應(yīng)用
對于標準的運動控制應(yīng)用,采用專用固定功能的嵌入式IC能夠大大簡化系統(tǒng)設(shè)計,并且讓產(chǎn)品快速面市。相反,對于非標準的應(yīng)用,運動控制模型需要我們自定義,如果各個運動軸之間的關(guān)聯(lián)比較復(fù)雜,必須適配異?;颡毺氐氖录敲丛O(shè)計團隊就需要采用全可編程的處理器。而且還需要處理器集成數(shù)字信號處理(DSP)功能來滿足計算密集型任務(wù)需求或者采用可編程邏輯器件(FPGA)。當我們考慮可編程器件時,除了IC器件本身的硬件功能外,供應(yīng)商、第三方工具、可用的軟件模塊都是我們做出選擇是需要考慮的重要因素。
需要注意的是控制器與電動機驅(qū)動器是不同的,一般采用MOSFET/IGBT驅(qū)動/器件來控制電動機的功率,主要是兩個原因。首先這些功率器件需要能夠驅(qū)動電動機,獨立于控制器。其次基于MOSFET的高密度互補處理技術(shù)用于數(shù)字控制器與功率器件的處理過程完全不同。對于小型的電動機,我們可以將控制器、驅(qū)動器和電源器件集成在一起。盡管存在著根本上的差異,“控制器”通常指具備電源功能的模塊,因此一般會在關(guān)鍵詞搜索時造成困擾。
一些運動控制IC的實例展示了這些器件的使用范圍,基本的單功能器件如Toshiba TB6560AFTG是一款PWM斬波型步進電動機控制器和驅(qū)動IC,可用于雙極步進電動機的正弦信號輸入,實現(xiàn)微調(diào)(圖9)。采用QFN(方形扁平無引腳)封裝,物理尺寸7x7mm,采用一個時鐘信號就可以提供高性能的正向和反向雙極型步進電機的驅(qū)動,并且能夠給電動機繞組輸送2.5A的電流。
圖9:Toshiba TB6560AFTG是一款步進電動機控制器,具有微調(diào)功能,集成2.5A MOSFET功率模塊,能夠直接驅(qū)動電動機繞組。?
即使在微調(diào)模式下,步進電動機的一個問題就是在啟動和停止時它的輸出存在振動,盡管在很多應(yīng)用中這不算是個問題,但是如果我們處理像玻璃器皿這樣的精致物品時就是一個大問題,還有可能導(dǎo)致整個系統(tǒng)的振動。因此,TB6560AFTG允許用戶調(diào)整驅(qū)動電流的上升/下降,并且建立完善的電流上升/下降的轉(zhuǎn)換,從而將振動減小到最低(圖10)。
圖10:在具體應(yīng)用中,Toshiba TB6560AFTG需要很少的外部組件,并且接收系統(tǒng)處理器的高級指令,最后轉(zhuǎn)換為詳細的步進控制信號?
機器人運動控制系統(tǒng)的最頂端是一些高級的單元,例如TI C2000微控制器系列。C2000包括多個系列的器件,分別集成不同的功能,如基礎(chǔ)的處理功能、數(shù)字計算能力、輸入/輸出接口的數(shù)量和類型以及管家功能如定時器、看門狗和脈沖寬度調(diào)制發(fā)生器。
舉個例子,C2000分組下的TMS320 Delfino系列處理器(圖11)提供原生浮點支持,消除了定點開發(fā)的挑戰(zhàn),當然它也支持帶有IQMath虛擬浮點引擎的原生器件之間的定點和浮點代碼的移植。這就系統(tǒng)中就不需要設(shè)計第二個集成單核或者雙核的處理器了,同樣能夠提供高效的數(shù)字信號處理的算數(shù)任務(wù)以及微控制器的系統(tǒng)控制任務(wù)。它們同樣也集成了三角數(shù)學(xué)單元(TMU)加速器,這樣就加速了很多控制回路中常見三角算法的執(zhí)行速度,比如轉(zhuǎn)矩閉環(huán)算法。
圖11:TI C2000系列器件包括多個子系列,每個子系列有包含多個不同規(guī)格的器件;Delfino分組就包括一個強大的處理器和嵌入式協(xié)處理器,內(nèi)部集成了很多基于硬件的功能,很大程度上降低了編程難度,加速了執(zhí)行速度。?
支持這些處理器的是開發(fā)工具和套件,比如 LAUNCHXL-F28377S C2000 Delfino LaunchPad就是基于TMS320C28x 32位CPU處理器(圖12)。這款套件還集成了F28377S微控制器單元(MCU),能提供400MIPS的系統(tǒng)性能,介于200MHz C28x中央處理單元和200MHz實時控制協(xié)處理器之間。這款微控制器還包含1MB板載FLASH以及豐富的外圍設(shè)備比如16位/12位模數(shù)轉(zhuǎn)換器、比較器、12位數(shù)模轉(zhuǎn)換器、正弦濾波器、高分辨率脈寬調(diào)制器、增強的捕獲模塊、增強的積分編碼模塊、CAN總線網(wǎng)絡(luò)模塊等等。
圖12:一些工具如TI公司推出的LaunchPad對于開發(fā)、集成和評估基于C2000 Dlifino系列處理器應(yīng)用的硬件和軟件功能至關(guān)重要?
除了MCU,LaunchPad內(nèi)置了獨立的XDS100v2 JTAG仿真器,支持通過USB實現(xiàn)實時的系統(tǒng)內(nèi)編程和調(diào)試。LaunchPad還設(shè)計了兩個40-pin的接口,支持兩個BoosterPacks的同時操作;包含一個免費無限制的CCS集成開發(fā)環(huán)境(IDE);免費下載controlSUITE軟件包。
總結(jié)
機器人運動控制系統(tǒng)選型從基礎(chǔ)專用功能IC到高集成非常靈活的MCU,集成豐富的輔助和支持功能。盡管嵌入式器件看似功能有限,但是它們也支持多有不同的運動控制模型設(shè)計,設(shè)置嚴格的參數(shù),這類器件供貨重組、成本低而且易于使用。對于一些高級的設(shè)計可能需要極其復(fù)雜的要求或者需要額外的互聯(lián)、控制燈需求,有平臺和開發(fā)套件的支持如代碼包的驗證、調(diào)試和程序開發(fā)工具以及工程驗證等,MCU能夠提供高效的解決方案。
評論