機器人的應用日漸廣泛,對工業生產與提高效能有重要作用。工業機器人主要利用伺服馬達進行運動控制,從而實現移動和抓取工具。本文將詳細討論伺服馬達的特點以及不同類型伺服馬達相應的控制原理。

運動控制原理

運動控制與機器人密切相關。工業應用中的機器人必須透過由多款電動馬達所構成的致動器才能自行移動,以執行任務或透過機器手臂抓取工具。

機器人的運動控制系統通常由馬達控制器、馬達驅動、馬達本體(多為伺服馬達)組成。馬達控制器具備智慧運算功能,並可傳送指令以驅動馬達。驅動可提供增壓電流,根據控制器指令以驅動馬達。馬達可以直接移動機器人,亦可透過傳動系統或鏈條系統讓機器人移動。

20180312_NI_TA31P1 圖1:機器人的運動控制系統

輸出類型

行動式機器人往往用於探索大範圍面積的土地,並能夠使用各種螺旋槳、機器腳、輪子、軌道或機器臂移動。例如各種NI展示平台,包括VINI、VolksBot與Isadora。這些機器人分別使用了全向輪(Mecanum wheel)、一般輪以及機器手臂。而針對嵌入式控制,則可透過NI CompactRIO等嵌入式平台,並整合即時控制器與FPGA。CompactRIO亦包含可重配置機箱,能夠容納多樣化的I/O配置,包含感測器輸入與馬達控制。

VINI是使用全向輪的機器人平台,能以多方向行進。除了像傳統輪子般的前進與後退,全向輪亦可將輪軸旋轉為相反方向,以任何方向行進。此款車輪已普遍用於必須能在狹小空間中移動的自動堆高機等應用。

VINI還是一款地圖描繪機器人,透過NI工業級控制器與CompactRIO執行路徑規劃與資料處理作業。嵌入式的工業級控制器提供雷射掃瞄地圖,並執行機器視覺處理,讓CompactRIO接收感測器資料,並於相機系統上控制伺服馬達。

20180312_NI_TA31P2 圖2:VINI機器人

VolksBot搭載的車輪是由德國的弗勞恩霍夫研究所(Fraunhofer Institute)所開發的。

20180312_NI_TA31P3 圖3:德國Fraunhofer Institute研究機構開發的RT3 VolksBot

Isadora則是一種會跳舞的人形機器人,經由人類操作縮小版的機器人以取得輸入資料。接著開始移動自己的機器手臂與軀幹,以模仿縮小版機器人的運動。Isadora採用2組CompactRIO,其中1組用於模擬已記錄的運動,另1組則是讓機器人重現運動軌跡。

20180312_NI_TA31P4 圖4:Isadora跳舞機器人

伺服馬達控制原理及其類型

伺服馬達是機器人應用中常見的電動馬達,其基本控制原理是利用控制迴路、結合必要的馬達反饋,從而協助馬達進入所需的狀態,如位置與速度等。由於伺服馬達必須透過控制迴路了解目前狀態,因此其穩定性高於步進馬達。

伺服馬達有不同種類——帶刷式與無刷式。有刷伺服馬達與無刷伺服馬達之間的差異在於其通訊機制。伺服馬達的工作原理是根據反向磁力,進而移動或建立轉矩。最簡單的例子有固定磁場與旋轉磁場。只要改變流過磁場的電流方向,即可變更磁極,並讓磁極(轉子)開始旋轉。變更線圈的電流方向,即所謂的「換相」(commutation)。

有刷伺服馬達

有刷伺服馬達(brushed motor)的控制原理即是透過機械式電刷,改變馬達線圈中的電流。由於有刷馬達能改變流入的電流方向,因此可由直流電源(DC)供電。有刷伺服馬達可分為2組零件:

  • 馬達機殼即具有場磁鐵(Field magnet),即定子(Stator)
  • 轉子(Rotor)是由線圈所構成,中間具有鐵製核心,並連接至電流變換器

電刷則接觸電流變換器,將電流導入線圈中。在使用一段時間之後,電刷即可能磨耗並對系統產生摩擦力;但在無刷伺服馬達中則不會發生此種情況。

無刷伺服馬達

大多數的無刷伺服馬達均使用交流電源(AC)。無刷伺服馬達的控制原理是將鐵製核心置於外部。當轉子成為暫時性的磁鐵,定子則成為繞鐵線圈。外部電路的電流將會在既定的轉子位置進行反轉。所以,此款伺服馬達是由交流電所驅動的。當然亦有無刷DC伺服馬達。這些馬達一般均具備某些電子切換電路,可針對流入的DC進行變換。無刷伺服馬達的價位較高,但較無磨損問題。

步進馬達

在機器人運動應用中,步進馬達不如伺服馬達普及,但仍為電動馬達的重要範例,而且使用方式較為簡易。與伺服馬達相比,步進馬達的速度較慢亦較為精確。步進馬達中具有一系列內建的無刷齒(Brushless teeth),可在電流通過而改變電磁電荷後,由下一組刷齒拉動轉子,前一組刷齒推動轉子,從而為步進馬達通電。

相較於伺服馬達,由於步進馬達可透過刷齒的數量(即等於所移動的距離)進而精確進行控制,因此一般情況下並不需要反饋。但可能因為障礙物而遺漏刷齒,因此可用編碼器做為反饋。

運動控制器與軟體架構

許多製造商均建立了自家的驅動系統,以操控機器人。在考量機器人應用中的運動控制系統時,可先了解初階的網狀迴圈,如下圖所示。

20180312_NI_TA31P5 圖5:運動控制軟體架構

至於機器人任務規劃的較高階功能,則是讓機器人的行動達到最終的目標。它可能是以單一指令囊括多組標的,或可讓機器人進入特定位置。若機器人採用遙控(Tele-operated)架構,那麼這些指令最可能透過連接板外(off-board)的電腦而傳送的,而且可在此人為操作選擇機器人的後續動作或行為。在完全自動化的機器人中,根據決策用演算法的不同,任務規劃亦可能直接在板上執行。

在規劃路徑時,往往會產生「我應該如何到目的地以完成此任務?」或是「我應如何讓機器手臂移動到該位置?」等問題。而此種問題均可由機器人運動控制器完成。

一旦清楚目的地與行進速度之後,伺服馬達控制器將發出控制訊號(PWM或電流等)至實際的馬達驅動,使其得以到達目的地。一般均以PID建構控制功能。另一方面,安全功能的建置也至關重要,特別是當高速行進中的機器人在目前的路徑上偵測到行人時,必須能夠立即發出緊急訊號,同時停止馬達或立刻煞車。