基于TCP/IP協(xié)議實(shí)現(xiàn)上位機(jī)對(duì)UR機(jī)器人的遠(yuǎn)程控制
圖3IO控制
4、Dashboard端口
上位機(jī)可以通過(guò)29999端口直接發(fā)送一些簡(jiǎn)單的指令給機(jī)器人,這些指令是UR自己定義的,這種功能被稱為Dashboard。下表就是Dashboard的指令列表。
指令描述
load.urp>加載被保存在控制器中的程序
getloadedprogram返回當(dāng)前機(jī)器人執(zhí)行的程序
play啟動(dòng)當(dāng)前加載的程序
stop停止機(jī)器人當(dāng)前執(zhí)行的程序
pause暫停機(jī)器人當(dāng)前執(zhí)行的程序
isProgramSaved當(dāng)前機(jī)器人正在執(zhí)行的程序是否被保存,返回“True”或“False”
programState當(dāng)前程序的運(yùn)行狀態(tài),返回“PLAYING”或“STOPPED”或“PAUSED”
shutdown關(guān)閉機(jī)器人系統(tǒng)
running機(jī)器人的運(yùn)行狀態(tài),返回“True”或“False”
robotmode訪問(wèn)機(jī)器人模式
popupPolyscope跳出對(duì)話框
closepopup關(guān)閉對(duì)話框
addToLog將消息添加到logfile中
setUserRole,whereisclass設(shè)置用戶權(quán)限
polyscopeVersion返回當(dāng)前Polyscope的版本號(hào)
poweron使機(jī)器人本體通電
poweroff使機(jī)器人本體斷電
brakerelease釋放制動(dòng)器
safetymode返回機(jī)器人當(dāng)前所處的安全模式狀態(tài)
表3Dashboard指令列表
顯而易見(jiàn),我們可以通過(guò)一些Dashboard指令,遠(yuǎn)程切換、加載程序,同時(shí)可以啟動(dòng)、暫停、停止程序,這樣上位機(jī)就可以遠(yuǎn)程控制程序了。
5、上位機(jī)編程端口
UR機(jī)器人有3種編程方式:Polyscope編程、腳本編程以及C-API編程。Polyscope編程指的是程序在示教器上被編輯,機(jī)器人然后執(zhí)行,這是UI層的編程方式。C-API編程是在研發(fā)層上的編程方式。我們重點(diǎn)介紹的是腳本編程方式,腳本編程的語(yǔ)言是UR公司在python語(yǔ)言基礎(chǔ)上,自己研發(fā)的URScript語(yǔ)言。URScript是在腳本層上控制機(jī)器人的編程語(yǔ)言,就像其他編程語(yǔ)言一樣,它有變量類型,語(yǔ)法結(jié)構(gòu)、方法等。另外,它有一系列的專用方法來(lái)控制機(jī)器人運(yùn)動(dòng)以及IO狀態(tài)。
UR機(jī)器人的控制器是運(yùn)行在Mini-ITXPC上的,一旦PC啟動(dòng)機(jī)器人控制器(就像啟動(dòng)服務(wù)一樣),Polyscope軟件就通過(guò)PC本地的TCP/IP端口與機(jī)器人控制器建立連接了。同樣,當(dāng)上位機(jī)作為客戶端,通過(guò)30001或30002或30003特定的編程端口,與機(jī)器人控制器建立TCP/IP連接,這樣我們就可以在上位機(jī)上按照URScript語(yǔ)言的格式編寫腳本程序,直接發(fā)送給機(jī)器人控制器,機(jī)器人就可以直接執(zhí)行程序了。
按照上面所述的機(jī)器人腳本編程原理,我就可以在上位機(jī)上制作如下界面,實(shí)現(xiàn)對(duì)UR機(jī)器人的遠(yuǎn)程編程。
圖4腳本編程
6、實(shí)時(shí)反饋端口
30001、30002、30003除了用于遠(yuǎn)程編程外,還有其他功能,如下表所述。
端口名稱功能
30001第一客戶端端口客戶端可發(fā)送腳本代碼至服務(wù)器;服務(wù)器自動(dòng)以5Hz的頻率返回機(jī)器人狀態(tài)與補(bǔ)充消息到客戶端。
30002第二客戶端端口客戶端可發(fā)送腳本代碼安全文件傳輸協(xié)議;服務(wù)器自動(dòng)以5Hz的頻率返回機(jī)器人狀態(tài)與消息到客戶端。
30003實(shí)時(shí)反饋端口客戶端可發(fā)送腳本代碼安全文件傳輸協(xié)議;服務(wù)器自動(dòng)以125Hz的頻率返回機(jī)器人狀態(tài)與消息到客戶端。
評(píng)論