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