台灣UR官方部落格,提供給您UR機器人的各種最新消息。

如何讓機器人對話

Written by Sam Paxton | 2018-4-2 3:33:53

隨著視覺系統及其他機器人輔助儀器的日漸興起,現在也越來越常機器人負擔越來越多的繁複任務。這樣的情況下,產生了機器人之間互相轉移零件的需求,如此一來,機器人之間也必須能相互通訊,來維持高效率及快速的生產作業時間。優傲科技的機器人支援多種通訊協定,可用於幾乎所有的網路類型,不論新舊。其中包括:MODBUS、ProfiNet、EtherNet/IP、TCP/IP 及 XMLRPC。

TCP/IP 及遠端控制
較常搭配 UR 機器人使用的通訊方式之一便是簡單地透過乙太網路進行 TCP/IP 通訊端連線。為何 TCP/IP 受歡迎呢?許多在所有 UR 上執行之現成遠端控制伺服器,包括主要、次要、即時及 Dashboard 伺服器,均使用 TCP/IP 通訊協定。這些伺服器接受來自遠端用戶端程式的各種指令,而用戶端程式可能在外部裝置或另一部機器人上執行。在機器人彼此交接零件的情境中,時間點可能會因為前一個任務而有所差異,因此就可使用 Dashboard 伺服器來指揮機器人啟動、暫停或停止。若要瞭解 Dashboard 伺服器如何實際運作,請看這兩部運作中的 UR3 協作型機器人如何解開魔術方塊:

每部機器人可移動方塊的三邊,但其中有些動作需要另一部機器人用不同的方法夾持方塊,讓第一部機器人得以實際旋轉其中一邊。若要達成此目標,夾持住方塊的機器人會移動到另一位置,並在移動完成時,告知要轉動方塊的機器人。然後,夾持住方塊的機器人就會暫停其程式,直到轉動方塊的機器人通知方塊的該側已轉動完成為止

Dashboard 伺服器的功能遠遠不只是啟動/停下機器人而已。若要瞭解 Dashboard 伺服器指令及用法的更多資訊,請瀏覽優傲科技技術支援頁面的 Article 15690

替代遠端控制伺服器
Dashboard 伺服器可供存取極高階的功能,例如載入程式、取得機器人狀態或開關機器人。而移動機器人等更特定的功能,則存在於機器人上執行的主要 (30001 連接埠)、次要 (30002 連接埠) 或即時 (30003 連接埠) 伺服器。這些伺服器會等候 URScript 指令,例如:

  • movej(姿態) 將機器人移動成特定姿態
  • sleep(秒數) 讓機器人等候指定秒數
  • (freedrive_mode) 讓機器人進入 free drive 模式

這些指令將以編碼字串的形式傳送到機器人立即執行。這在兩部機器人之間交接點不固定的情況下可派上用場:持有零件的機器人可告知另一部機器人移動到要交接零件的特定位置,或告知機器人在原地等候一段指定的時間。若要瞭解更多關於 URScript 的資訊及其原生功能,請下載 URScript 手冊 (SW3.5)。此功能可遠端操作 UR 機器人,而這些伺服器的統稱也因此而來:遠端控制伺服器。若有部分特定功能未受 URScript 原生支援,則可編寫預先定義的功能,並將其加入機器人的前置程式碼中,這樣一來,當透過遠端伺服器傳送這些指令時,機器人就可瞭解其意義。

測試 Dashboard 伺服器:若要進行測試,可使用測試通訊端的程式,例如 HyperTerminal 或類似程式。在此範例中,使用了免費的 SocketTest 程式

適用 XMLRPC 的時機

另一個值得一提的通訊方式是 XMLRPC,這個縮寫代表 XML 格式的遠端程序呼叫 (Remote Procedure Call)。機器人之間的通訊不一定需要這個通訊方式,但是若要在執行階段中執行 URScript 無法支援的功能時,就會非常有用。XMLRPC 可在執行階段中呼叫以另一種程式語言所編寫的程式,或預先定義的功能。若有 URController 不相容的動作須另外執行,XMLRPC 就非常實用。若要進一步瞭解 XMLRPC 功能,請參考優傲科技技術支援網頁上的 Article 16326

在美國印第安那州的 Task Force Tips,兩部 UR5 機器人聯手作業,構成視覺控制的機台操作應用情境。視覺系統和機器人間的所有通訊都透過 MODBUS 進行。

下載 MODBUS 電子書
MODBUS 通訊協定為業界標準,在機器人產業裡經常使用。雖然 MODBUS 通常和 MODBUS 控制器一起使用,但該通訊協定仍可獨立運作,成為機器人間相互溝通的另一種方式。UR 經銷商 Axis New England 提供了一本閱讀方便的電子書,說明如何設定 MODBUS 連線,以及設定機器人間通訊所需的相關指引。該電子書亦介紹了使用 MODBUS 暫存器在兩部機器人之間傳送座標資訊的範例程式,並有範例程式的下載連結及程式實際執行中所錄製的影片。