新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于TCP/IP協(xié)議實現(xiàn)上位機對UR機器人的遠程控制

基于TCP/IP協(xié)議實現(xiàn)上位機對UR機器人的遠程控制

作者: 時間:2016-12-19 來源:網絡 收藏

圖3IO控制

4、Dashboard端口

  上位機可以通過29999端口直接發(fā)送一些簡單的指令給機器人,這些指令是UR自己定義的,這種功能被稱為Dashboard。下表就是Dashboard的指令列表。

  指令描述

  load.urp>加載被保存在控制器中的程序

  getloadedprogram返回當前機器人執(zhí)行的程序

  play啟動當前加載的程序

  stop停止機器人當前執(zhí)行的程序

  pause暫停機器人當前執(zhí)行的程序

  isProgramSaved當前機器人正在執(zhí)行的程序是否被保存,返回“True”或“False”

  programState當前程序的運行狀態(tài),返回“PLAYING”或“STOPPED”或“PAUSED”

  shutdown關閉機器人系統(tǒng)

  running機器人的運行狀態(tài),返回“True”或“False”

  robotmode訪問機器人模式

  popupPolyscope跳出對話框

  closepopup關閉對話框

  addToLog將消息添加到logfile中

  setUserRole,whereisclass設置用戶權限

  polyscopeVersion返回當前Polyscope的版本號

  poweron使機器人本體通電

  poweroff使機器人本體斷電

  brakerelease釋放制動器

  safetymode返回機器人當前所處的安全模式狀態(tài)

表3Dashboard指令列表

  顯而易見,我們可以通過一些Dashboard指令,遠程切換、加載程序,同時可以啟動、暫停、停止程序,這樣上位機就可以遠程控制程序了。

5、上位機編程端口

  UR機器人有3種編程方式:Polyscope編程、腳本編程以及C-API編程。Polyscope編程指的是程序在示教器上被編輯,機器人然后執(zhí)行,這是UI層的編程方式。C-API編程是在研發(fā)層上的編程方式。我們重點介紹的是腳本編程方式,腳本編程的語言是UR公司在python語言基礎上,自己研發(fā)的URScript語言。URScript是在腳本層上控制機器人的編程語言,就像其他編程語言一樣,它有變量類型,語法結構、方法等。另外,它有一系列的專用方法來控制機器人運動以及IO狀態(tài)。

  UR機器人的控制器是運行在Mini-ITXPC上的,一旦PC啟動機器人控制器(就像啟動服務一樣),Polyscope軟件就通過PC本地的TCP/IP端口與機器人控制器建立連接了。同樣,當上位機作為客戶端,通過30001或30002或30003特定的編程端口,與機器人控制器建立TCP/IP連接,這樣我們就可以在上位機上按照URScript語言的格式編寫腳本程序,直接發(fā)送給機器人控制器,機器人就可以直接執(zhí)行程序了。

  按照上面所述的機器人腳本編程原理,我就可以在上位機上制作如下界面,實現(xiàn)對UR機器人的遠程編程。

圖4腳本編程

6、實時反饋端口

  30001、30002、30003除了用于遠程編程外,還有其他功能,如下表所述。

  端口名稱功能

  30001第一客戶端端口客戶端可發(fā)送腳本代碼至服務器;服務器自動以5Hz的頻率返回機器人狀態(tài)與補充消息到客戶端。

  30002第二客戶端端口客戶端可發(fā)送腳本代碼安全文件傳輸協(xié)議;服務器自動以5Hz的頻率返回機器人狀態(tài)與消息到客戶端。

  30003實時反饋端口客戶端可發(fā)送腳本代碼安全文件傳輸協(xié)議;服務器自動以125Hz的頻率返回機器人狀態(tài)與消息到客戶端。



評論


技術專區(qū)

關閉