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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机械臂搬运物件小结

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

工業機器人基本知識
一、 工業機器人硬件結構
包含控制器、驅動器、伺服電機、減速機、機械負載、末端執行機構、系統保護裝置、各種輸入輸出接口等。
工業機器人采用奧地利的 KEBA 工業自動化公司的型號為 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 已擴展

控制器規格如下:

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

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

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

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

附錄:參考代碼
main 函數代碼:
LABEL XPULoop
西安工程大學工業機器人實驗參考資料(內部資料)
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 函數代碼:
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 函數代碼:
XPU11 := XPU10
XPU11.z := XPU10.z + 150
西安工程大學工業機器人實驗參考資料(內部資料)
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)

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

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

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。