999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

二次開發技術在集裝箱扭鎖安裝仿真中的應用

2018-01-18 05:18:44張連東宋雪萍張博聞
制造業自動化 2017年11期
關鍵詞:二次開發程序

平 原,張連東,宋雪萍,張博聞

(大連交通大學,大連 116028)

0 引言

集裝箱運輸是一種現代化的先進運輸方式。為保證集裝箱運輸中集裝箱堆疊的穩固性,需要對集裝箱加裝穩固措施,限制集裝箱的運動。扭鎖主要用于甲板與集裝箱以及集裝箱上下層的連接鎖閉,用于防止集裝箱傾覆和滑移[1]。近年來,隨著集裝箱裝載率的不斷增加,對集裝箱扭鎖裝卸及解鎖技術的快速化、自動化的要求也日益迫切[2]。

目前集裝箱碼頭的集裝箱裝鎖拆鎖工藝均由人工完成,效率低下且無法保證操作人員的安全。因此,通過二次開發技術在虛擬環境中模擬工業機器人代替人工安裝扭鎖,對進一步實現集裝箱扭鎖安裝技術的快速化、自動化有著重要意義。

1 RobotStudio二次開發

RoboStudio是ABB機器人公司的一款離線機器人編程與仿真工具,能夠針對ABB工業機器人進行離線編程與控制。基于RobotStudio平臺,通過二次開發軟件,針對海港集裝箱裝卸的實際情況進行仿真,模擬、測試海港集裝箱扭鎖的自動安裝過程。

本文中RobotStudio的二次開發主要用到了ABB SDK(software development kit)中的Controller API。這是一個由上至下的多層次樹型網絡結構,若要調用控制器的某個功能,則必須進行逐級訪問。其結構如圖1所示。

二次開發工具則選用C#語言,基于Microsoft Visual Studio平臺來進行對RobotStudio的二次開發。

圖1 Controller API對象結構圖

1.1 RobotStudio目標點分析

在RobotStudio中,機器人的運動軌跡是由若干個目標點按次序的連線組成。因此分析目標點的構成對機器人的軌跡規劃十分重要。

以目標點P為例:

目標點的位置信息分為四個部分。1表示TCP(Tool Center Point,工具中心點)的位置;2表示機器人的工具的姿態,以四元數來表示;3表示機械臂的軸配置;4表示附加軸的位置。其中,第二部分的四元數決定了機器人工具的姿態方位,因此需在目標坐標系中將工具旋轉的歐拉角轉換為四元數。

四元數由矢量部分和標量部分組成,可表示成如下形式:

由于歐拉角到四元數的轉換與歐拉角的轉動順序有關[3],以Z-Y-X的轉動順序為例,定義分別為繞Z軸、Y軸、X軸旋轉角度,歐拉角到四元數的轉換可表示為:

將式(2)展開,得到:

將該式用于計算控制工具方位的四元數,可實現歐拉角到四元數的轉換。

1.2 主要模塊設計

在RobotStudio已有的基礎功能之上,設計了目標點設置模塊以及軌跡優化模塊用以解決機器人運行過程中對目標點性質判斷難的問題。

1.2.1 目標點設置模塊

在常規的機器人運動軌跡規劃中,機器人的控制程序需要詳細規劃到每一個目標點,若涉及到的目標點數量較大,則十分耗費人力物力。通過分析機器人在不同目標點的實際動作來對目標點進行分類,可大幅提升工作效率。該模塊為適應多變的應用環境,靈活設置機器人軌跡,將機器人目標點分為抓取點、安裝點和過渡點三種類型。其中,抓取點為機器人抓取扭鎖時,TCP的位置;安裝點為機器人開始向集裝箱角件安裝扭鎖時,TCP的位置;過渡點則為機器人攜帶扭鎖運動時,TCP的目標位置。

在設置時,可設置一個抓取點,一個安裝點,以及若干個過渡點。多個過渡點的設置可使機器人躲避實際應用環境中的障礙物。在設置完畢后可對目標點的個數及參數進行修改或重置。如果設置過程中出現錯誤,該模塊會彈窗提醒操作者修改數據或設置內容。該模塊的效果如圖2所示。

圖2 目標點設置模塊

1.2.2 軌跡優化模塊

該模塊的主要作用是對輸入的目標點數據進行整理、優化。數據在錄入程序之后,會進行列隊以構成機器人的運動軌跡。一直到程序開始運行前都可以對已輸入的目標點進行編輯。在開始運行程序后,程序會根據最后的目標點次序控制機器人進行移動。

由于目標點的次序直接影響著機器人最終的運動軌跡,因此在程序中利用Queue隊列對輸入目標點數據進行儲存。該方法對數據的處理方法為“先進先出,后進后出”。這樣既可保證機器人的運動軌跡與輸入的數據相一致。該模塊的效果如圖3所示。

圖3 軌跡優化模塊

1.3 控制程序

在利用二次開發程序控制RobotStudio時,最主要的是機器人運動信息的交換,即二次開發程序的數據可以傳遞給RobotStudio自帶的Rapid程序,同時RobotStudio中的數據也能反饋給控制程序。

1.3.1 讀寫Rapid程序數據

讀取Rapid程序數據,可以選擇Direct Access,即直接進入Rapid程序,獲取想要的數據信息。這種方法節省內存而且信息獲取更加迅速[4]。如下示例即為獲取Rapid程序中T_ROB1任務的Module1組件的P1點數據的程序語句:

將數據寫入Rapid程序,則是利用IRapidData.FillFromString方法來實現。如下示例為將Rapid程序中的Bool值zhuaqu的值改為Ture:

1.3.2 控制算法

控制機器人運動的難點在于對目標點的分析,需要通過程序來判斷目標點的性質。不同性質的目標點則對應著不同的機器人動作。之前介紹的目標點分為三類,即抓取點、安裝點和過渡點,將目標點的性質跟隨目標點的數據一同加入Queue隊列,在數據出列時對目標點的性質進行判斷,即達到程序對目標點的分析效果。

二次開發程序對機器人運動的控制主要通過循環嵌套和分支結構的條件語句來實現。首先,在RobotStudio的Rapid程序中對應三類目標點的后續控制程序之前添加一個“開關”,“開關”由Bool值控制,True代表打開,False代表關閉。然后,在二次開發程序中,根據Queue隊列中出列的每一個目標點數據附加的目標點性質,將Bool值傳遞給Rapid程序。最后,Rapid程序根據接收到的Bool值來判斷該點的分類。Rapid控制程序如下。

舉例來說,在Rapid程序中,分別在抓取點、安裝點、過渡點的控制程序之前添加了zhuaqu、shifang、waitloop三個Bool值,默認值都是False。當被標注為抓取點的p1點從數據隊列中出列的同時,二次開發程序將zhuaqu的True值發送給Rapid程序,Rapid即啟動抓取動作的控制程序。

在二次開發程序中,對目標點性質的判斷是通過循環結構和分支結構來實現的。首先將錄入的目標點數據加入到Queue隊列中,當每一個目標點出列時,對其性質進行判斷,若為抓取點,即向Rapid程序發送“zhuaqu”的True值,打開Rapid程序中的抓取點控制程序的“開關”。同樣的過程也適用于安裝點和過渡點。每一次判斷完目標點的性質之后,二次開發程序會對Queue隊列中的剩余的目標點數據個數進行核算,若還有剩余,即繼續進行出列操作。當Queue隊列中所有的目標點數據均已出列,則結束循環,程序停止。若有目標點未被標記分類,既不是抓取點、安裝點,也不是過渡點,則程序會進行報錯,由操作人員檢查目標點的錄入或程序設置是否存在問題。該算法的邏輯流程如圖4所示。

圖4 目標點性質判斷的算法邏輯流程圖

2 仿真試驗

為驗證此次二次開發程序的適用性,在RobotStudio中建立虛擬仿真試驗室。該實驗室構成如圖5所示。

建立好虛擬仿真實驗室后,打開二次開發程序,錄入目標數據,本次仿真試驗共錄入四個點,分別為:

圖5 虛擬仿真實驗室構成

圖6 完成目標點數據錄入

圖7 機器人運行軌跡

點1:坐標值[500,0,100],工具方位為繞Z軸旋轉90°,繞Y軸旋轉0°,繞X軸旋轉180°,該點為抓取點。

點2:坐標值[500,0,200],工具方位為繞Z軸旋轉90°,繞Y軸旋轉0°,繞X軸旋轉180°,該點為過渡點。

點3:坐標值[300,-300,200],工具方位為繞Z軸旋轉90°,繞Y軸旋轉0°,繞X軸旋轉180°,該點為過渡點。

點4:坐標值[0,-450,200],工具方位為繞Z軸旋轉90°,繞Y軸旋轉0°,繞X軸旋轉180°,該點為安裝點。

錄入完成效果如圖6所示。

點擊“運行”,程序開始向RobotStudio發送數據,機器人開始運動。機器人運動軌跡如圖7所示。

0段為機器人從初始點到達點1;1段為點1到點2;2段為機械手爪抓取扭鎖;3段為點2到點3;4段為機器人到達點3后等待程序相應;5段為點3到點4;6段為機器人等待扭鎖安裝指令;7段為機器人安裝扭鎖;8段為安裝完畢后機器人回到初始點等待下次循環。

機器人運行過程平穩,均按照二次開發程序中的目標點數據進行運動,達到預期目標。

3 結束語

本文闡述了對RobotStudio進行二次開發的思路以及開發方法,通過該二次開發程序,可對不同目標點進行判斷,并根據判斷結果決定機器人的運動。該二次程序可一次性添加多個目標點,避免在RobotStudio中設定目標點的繁瑣過程。根據仿真的結果來看,此次二次開發的結果是值得肯定的,并可以在日后的扭鎖抓取研究中發揮作用。

[1]Dr. Yvo Saanen, Peter Walker, et al.An operations perspective on new twist lock handling in terminals[J].Chemosphere,2015,42(3):861-872.

[2]謝琛,張攀攀,費海波.集裝箱扭鎖技術的現狀及發展趨勢[J].中國水運,2015.7(15):38-40.

[3]張帆,曹喜濱,鄒經湘.一種新的全角度四元數與歐拉角的轉換算法[J].南京理工大學學報,2002.26(4):376-380.

[4]ABB.技術參考手冊-RAPID語言概覽[CP/OL].2015.10:11-12.

猜你喜歡
二次開發程序
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
西門子Operate高級編程的旋轉坐標系二次開發
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
Micaps3.2 版本二次開發入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
ANSYS Workbench二次開發在汽車穩定桿CAE分析中的應用
汽車零部件(2014年5期)2014-11-11 12:24:32
主站蜘蛛池模板: 噜噜噜综合亚洲| 日本成人精品视频| 无码高潮喷水在线观看| 风韵丰满熟妇啪啪区老熟熟女| 97青青青国产在线播放| 91精品情国产情侣高潮对白蜜| 国产自在自线午夜精品视频| 久久中文无码精品| 久久男人资源站| 国产精品亚洲片在线va| 日日拍夜夜操| 欧美一区二区三区国产精品| 99国产精品一区二区| 国产日本欧美在线观看| 综合亚洲网| 国产网站一区二区三区| 亚洲精品中文字幕无乱码| 欧美精品综合视频一区二区| 呦女精品网站| 国产va免费精品| 五月丁香伊人啪啪手机免费观看| 国产精品手机视频| аv天堂最新中文在线| 欧美国产日产一区二区| 无码精品福利一区二区三区| 日韩高清一区 | 午夜毛片福利| 凹凸国产熟女精品视频| 国产又爽又黄无遮挡免费观看| 亚洲精品无码高潮喷水A| 亚洲AV永久无码精品古装片| 精品一区二区三区自慰喷水| 亚洲高清资源| 国产日韩欧美一区二区三区在线 | 无码久看视频| 国产极品美女在线观看| 国产h视频在线观看视频| 在线观看国产小视频| 亚洲欧美自拍视频| 波多野结衣亚洲一区| 无码人中文字幕| 国产不卡网| 欧美成人综合在线| 国产网站一区二区三区| 狠狠色婷婷丁香综合久久韩国| 伊人福利视频| 欲色天天综合网| 综合色在线| 亚洲无码视频喷水| 中国一级毛片免费观看| 国产精品偷伦在线观看| 手机精品视频在线观看免费| 青青久视频| 亚洲激情99| 国产香蕉在线视频| 国产乱视频网站| 91小视频版在线观看www| 国产成人免费| 亚洲欧美日本国产综合在线| 久久国产乱子伦视频无卡顿| 一级一级特黄女人精品毛片| 成人亚洲国产| 亚洲国产午夜精华无码福利| 在线观看欧美国产| 成年人国产网站| 国产理论一区| 婷婷色婷婷| 亚洲天堂网2014| 亚洲无码高清一区二区| 国内毛片视频| 亚洲精品在线影院| 欧美国产日韩另类| 亚洲视频四区| 久久6免费视频| 毛片免费高清免费| 国产精品一区二区在线播放| 国产一区免费在线观看| 亚洲天堂首页| 热久久这里是精品6免费观看| 欧美亚洲欧美区| 日韩无码一二三区| 黄色网在线|