日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机械臂搬运物件小结

發(fā)布時間:2023/12/29 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机械臂搬运物件小结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

工業(yè)機器人基本知識
一、 工業(yè)機器人硬件結(jié)構(gòu)
包含控制器、驅(qū)動器、伺服電機、減速機、機械負載、末端執(zhí)行機構(gòu)、系統(tǒng)保護裝置、各種輸入輸出接口等。
工業(yè)機器人采用奧地利的 KEBA 工業(yè)自動化公司的型號為 CP 263/X 的控制器。

控制器接口如下:

EtherCAT 1
CAN 1
Serial -
Ethernet 2x 10/100 MBit/s
USB 2x USB 2.0; full speed, highpower
K-Bus Sideward to add modules
Compact Flash Type 1
Graphics DVI (for KEBA operating panel only)
Expandability 1x serial, 1x CAN, 1x PCI
控制器輸入輸出如下:
Digital inputs 已擴展
Digital outputs 0.5 A 已擴展
Digital outputs A 已擴展
Analog inputs (single-ended) 已擴展
Analog inputs (differential or single-ended) 已擴展
Analog voltage outputs 已擴展
Temperature inputs 已擴展
SSI 已擴展

控制器規(guī)格如下:

Dimensions HxWxD [mm] 120 x 270 x 100
Weight [g] 1266

圖 1 從工位點 A 放置到工位點 B 圖 2 從工位點 B 放置到工位點 A
注:本系統(tǒng)是基于位置的控制模式,為了統(tǒng)一標(biāo)準(zhǔn),利用形如 ij 來表示過渡點
位置矩陣。

Step 3:預(yù)定義“搬運”程序變量
(1)新建程序,示教器→主菜單→文件→新建項目:項目名稱(PickOne)→新
西安工程大學(xué)工業(yè)機器人實驗參考資料(內(nèi)部資料)
14
建程序:程序名稱(main) 。
(2)新建子程序,文件→新建程序:程序名稱(Pick);文件→新建程序:程
序名稱(PickReturn) 。
(3)定義位置變量:
示教器→主菜單→變量→變量監(jiān)測【注:禁止建立全局變量,慎用】→
項目[PickOne] →變量→新建→位置→變量:CARTPOS→名稱:XPUDot10 →確定。
項目[PickOne] →變量→新建→位置→變量:CARTPOS→名稱:XPUDot11
→確定。
項目[PickOne] →變量→新建→位置→變量:CARTPOS→名稱:XPUDot20
→確定。
項目[PickOne] →變量→新建→位置→變量:CARTPOS→名稱:XPUDot21
→確定。
項目[PickOne] →變量→新建→位置→變量:CARTPOS→名稱:XPUHome
→確定。
(4)定義速度變量:
項目[PickOne] →變量→新建→動力學(xué)及重疊優(yōu)化→變量:DYNAMIC→名稱:
XPUSpeed →確定。
(5)定義氣閥開合變量:
項目[PickOne] →變量→新建→輸入輸出模塊→變量:DOUT→名稱:
XPUOpenClose →確定。
Step4:變量與輸入輸出關(guān)聯(lián)。
(1) 關(guān) 聯(lián) 氣 閥 開 合 變 量 : 監(jiān) 測 → 變 量 → 檢 測 變 量 → 選 中
XPUOpenClose(Port:MAPTO BOOL: IoDOut→鍵盤:輸入 0)。
(2)編寫“搬運”代碼。
Step 5: 編寫“搬運”程序 main 函數(shù):
主菜單→項目→PickOne →main →加載
→新建→系統(tǒng):LABLE(命名:XPULoop) 【注意:第一個“編輯”是修改指
令】
→新建→運動:PTP(pos:POSITON_ (XPUHome)、dyn:DYNAMIC_(XPUSpeed))
→確認(rèn)
→新建→系統(tǒng)功能:WaitTime(500) →確認(rèn) 【時間單位:ms】
→新建→系統(tǒng):CALL →程序:Pick→確認(rèn) 【從工位點 1 移動到工位點 2】
→新建→系統(tǒng)功能:WaiTTime(500) →確認(rèn)
→新建→系統(tǒng):KILL →程序:Pick→確認(rèn)
西安工程大學(xué)工業(yè)機器人實驗參考資料(內(nèi)部資料)
15
→新建→運動:WaitIsFinished() →確認(rèn) 【防止自動預(yù)讀執(zhí)行后續(xù)程序】
→新建→系統(tǒng):CALL →程序:PickReturn→確認(rèn) 【從工位點 2 移動到工
位點 1】
→新建→系統(tǒng)功能:WaitTime(500) →確認(rèn)
→新建→系統(tǒng):KILL →程序:PickReturn→確認(rèn)
→新建→運動:PTP(pos:POSITON_ (XPUHome)、dyn:DYNAMIC_(XPUSpeed))
→確認(rèn)【回到原點】
→新建→系統(tǒng)功能:WaitTime(3000) →確認(rèn)
→新建→系統(tǒng):GOTO(XPULoop) →確認(rèn)
Step 6:編寫 Pick 子函數(shù):
. 主菜單→項目→PickOne →Pick →加載
【變量賦值】
→新建→系統(tǒng)功能: … := …(賦值)→更改→項目[PickOne] →XPUDot11→確
認(rèn)→更換賦值量→替換→變量→XPUDot10→確定。【工位點 10 值賦給 11】
→新建→系統(tǒng)功能: … := …(賦值)→更改→項目[PickOne] →XPUDot11:z
→確認(rèn)→更換賦值量→替換→變量→XPUDot10:z→新增+→替換→鍵盤→150→
確定。【給工位點 11 的 z 軸賦值】
→新建→系統(tǒng)功能: … := …(賦值)→更改→項目[PickOne] →XPUDot21→確
認(rèn)→更換賦值量→替換→變量→XPUDot20→確定。【工位點 20 值賦給 21】
→新建→系統(tǒng)功能: … := …(賦值)→更改→項目[PickOne] →XPUDot21:z
→確認(rèn)→更換賦值量→替換→變量→XPUDot20:z→新增+→替換→鍵盤→150→
確定。【給工位點 21 的 z 軸賦值】
【從工位點 11 移動到工位點 10】
→新建→運動:WaitIsFinished() →確認(rèn) 【防止自動預(yù)讀執(zhí)行后續(xù)程序】
→新建→運動:Lin(XPUDot11,XPUSpeed) →確認(rèn)
→新建→運動:Lin(XPUDot10,XPUSpeed) →確認(rèn)
→新建→運動:WaitIsFinished() →確認(rèn) 【防止自動預(yù)讀執(zhí)行后續(xù)程序】
【氣閥閉合】
→新建→開關(guān)量輸入輸出:DOUT:Set(DOUT:XPUOpenClose,value:BOOL(TRUE) )
→確認(rèn)
→新建→系統(tǒng)功能:WaitTime(300) →確認(rèn)
→新建→運動:WaitIsFinished() →確認(rèn) 【防止自動預(yù)讀執(zhí)行后續(xù)程序】
【從工位點 10 移動到工位點 11】
→新建→運動:Lin(XPUDot11,XPUSpeed) →確認(rèn)
西安工程大學(xué)工業(yè)機器人實驗參考資料(內(nèi)部資料)
16
【從工位點 11 移動到工位點 21】
→新建→運動:Lin(XPUDot21,XPUSpeed) →確認(rèn)
【從工位點 21 移動到工位點 20】
→新建→運動:Lin(XPUDot20,XPUSpeed) →確認(rèn)
→新建→運動:WaitIsFinished() →確認(rèn)
【氣閥開啟】
→新建→開關(guān)量輸入輸
出:DOUT:Set(DOUT:XPUOpenClose,value:BOOL(FALSE) ) →確認(rèn)
→新建→系統(tǒng)功能:WaitTime(300) →確認(rèn)
【從工位點 20 移動到工位點 21】
→新建→運動:Lin(XPUDot21,XPUSpeed) →確認(rèn)
Step 7:編寫 PickReture 子函數(shù):
. 主菜單→項目→PickOne →PickReturn →加載
【變量賦值】
→新建→系統(tǒng)功能: … := …(賦值)→更改→項目[PickOne] →XPUDot11→確
認(rèn)→更換賦值量→替換→變量→XPUDot10→確定。【XPUDot11:=XPUDot10;工位
點 10 值賦給 11】
→新建→系統(tǒng)功能: … := …(賦值)→更改→項目[PickOne] →XPUDot11:z
→確認(rèn)→更換賦值量→替換→變量→XPUDot10:z→新增+→替換→鍵盤→150→
確定。【XPUDot11.z:=XPUDot10.z+150;給工位點 11 的 z 軸賦值】
→新建→系統(tǒng)功能: … := …(賦值)→更改→項目[PickOne] →XPUDot21→確
認(rèn)→更換賦值量→替換→變量→XPUDot20→確定。【XPUDot21:=XPUDot20;工位
點 20 值賦給 21】
→新建→系統(tǒng)功能: … := …(賦值)→更改→項目[PickOne] →XPUDot21:z
→確認(rèn)→更換賦值量→替換→變量→XPUDot20:z→新增+→替換→鍵盤→150→
確定。【XPUDot21.z:=XPUDot20.z+150;給工位點 21 的 z 軸賦值】
→新建→運動:WaitIsFinished() →確認(rèn) 【防止自動預(yù)讀執(zhí)行后續(xù)程序】
【氣閥開啟】
→ 新 建 → 開 關(guān) 量 輸 入 輸
出:DOUT:Set(DOUT:XPUOpenClose,value:BOOL(FALSE) ) →確認(rèn)
→新建→運動:Lin(XPUDot21,XPUSpeed) →確認(rèn)
→新建→運動:Lin(XPUDot20,XPUSpeed) →確認(rèn)
→新建→運動:WaitIsFinished() →確認(rèn) 【防止自動預(yù)讀執(zhí)行后續(xù)程序】
【氣閥閉合】
西安工程大學(xué)工業(yè)機器人實驗參考資料(內(nèi)部資料)
17
→新建→開關(guān)量輸入輸出:DOUT:Set(DOUT:XPUOpenClose,value:BOOL(TRUE) )
→確認(rèn)
→新建→系統(tǒng)功能:WaitTime(300) →確認(rèn)
→新建→運動:Lin(XPUDot21,XPUSpeed) →確認(rèn)
→新建→運動:Lin(XPUDot11,XPUSpeed) →確認(rèn)
→新建→運動:Lin(XPUDot10,XPUSpeed) →確認(rèn)
→新建→運動:WaitIsFinished() →確認(rèn)
【氣閥開啟】
→ 新 建 → 開 關(guān) 量 輸 入 輸
出:DOUT:Set(DOUT:XPUOpenClose,value:BOOL(FALSE) ) →確認(rèn)
→新建→系統(tǒng)功能:WaitTime(300) →確認(rèn)
→新建→運動:WaitIsFinished() →確認(rèn)
→新建→運動:Lin(XPUDot11,XPUSpeed) →確認(rèn)
Step 8:實例化對象(即示教):
. 主菜單→PickOne→加載→main→加載→示教器上“★”→STEP 模式。
【實例化 XPUHome 點】
手動上伺服【鑰匙要旋至最左端】→將各個關(guān)節(jié)旋轉(zhuǎn)到適合工藝需求的位置
→光標(biāo)選中 PTP(XPUHome,XPUSpeed)→設(shè)置 PC→編輯【示教器第一個編輯】→示
教。
→Start+伺服→ Pick→Lin(XPUDot11) →切換直角坐標(biāo)系【Jog 模式→“★”
切換到直角坐標(biāo)系位置,即 X,Y,Z,A,B,C】 →返回 Step 模式→示教器 Start→
利用手柄調(diào)整到 XPUDot11 點【注意:設(shè)計過程中技巧問題 1 先調(diào)整工位 10 的
位置;2 設(shè)置 PC→賦值語句即可】。

運行“搬運”程序
主菜單→項目→PickOne→加載→鑰匙旋至中間檔位,即自動擋→上伺服 示
教器上 PWR

附錄:參考代碼
main 函數(shù)代碼:
LABEL XPULoop
西安工程大學(xué)工業(yè)機器人實驗參考資料(內(nèi)部資料)
18
PTP(XPUHome, XPUSpeed)
WaitTime(500)
CALL pick()
WaitTime(500)
KILL pick
WaitIsFinished()
CALL pickreturn()
WaitTime(500)
KILL pickreturn
PTP(XPUHome, XPUSpeed)
WaitTime(3000)
GOTO XPULoop
PickOne 函數(shù)代碼:
XPU11 := XPU10
XPU11.z := XPU10.z + 150
XPU21 := XPU20
XPU21.z := XPU20.z + 150
WaitIsFinished()
Lin(XPU11)
Lin(XPU10, XPUSpeed)
WaitIsFinished()
XPUOpenClose.Set(TRUE)
WaitTime(300)
WaitIsFinished()
Lin(XPU11, XPUSpeed)
Lin(XPU21)
Lin(XPU20)
WaitIsFinished()
XPUOpenClose.Set(FALSE)
WaitTime(300)
Lin(XPU21)
PickReturn 函數(shù)代碼:
XPU11 := XPU10
XPU11.z := XPU10.z + 150
西安工程大學(xué)工業(yè)機器人實驗參考資料(內(nèi)部資料)
19
XPU21 := XPU20
XPU21.z := XPU20.z + 150
WaitIsFinished()
XPUOpenClose.Set(FALSE)
Lin(XPU21)
Lin(XPU20)
WaitIsFinished()
XPUOpenClose.Set(TRUE)
WaitTime(300)
Lin(XPU21)
Lin(XPU11)
Lin(XPU10)
WaitIsFinished()
XPUOpenClose.Set(FALSE)
WaitTime(300)
WaitIsFinished()
Lin(XPU11)

總結(jié):劉老師編寫了本次實驗指導(dǎo)書,我再次摘抄部分內(nèi)容。
通過動手操作,進一步了解了工業(yè)機器人的使用步驟以及開發(fā)流程。劉老師在講解實驗的過程中也談到了知識和能力的關(guān)系,并進一步闡述如何將學(xué)到的知識用于實際生產(chǎn)實踐。話雖然不多,但蘊含的意思很受用。
整個編程過程中也出現(xiàn)了一些問題,看著自己小組工作進程從第一名不斷落后,不斷編程,不斷調(diào)試,出現(xiàn)的問題也不同。我們應(yīng)對的方案最多的就是重啟,重啟……;整個實驗共持續(xù)兩天。從對工業(yè)機器人一竅不通到實現(xiàn)老師要求的搬運動作。第二天早上同樣的BUG仍沒有解決,跟著小組組長還有另一名成員,我三個沒有去吃午飯,仍然在調(diào)試。下午1點,其他小組成員都在忙著拍最后工作完成的視頻,我們還在調(diào)試。
副組長靈機一動,在機器人指導(dǎo)書上找到了解決方案。

原來是我們在編程過程中忽略了機械臂從A位置到B位置過程中位姿發(fā)生了變化,進而其模式也發(fā)生了變化。
這一點經(jīng)過改正后,機器人正常運轉(zhuǎn),動作流暢。
組長說“不要著急,要有科研精神”
哈哈!
謹(jǐn)于2019.1.11——16時14分

(圖太大了傳不了,尬!)

總結(jié)

以上是生活随笔為你收集整理的机械臂搬运物件小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。