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

二次開發(fā)技術(shù)在集裝箱扭鎖安裝仿真中的應(yīng)用

2018-01-18 05:18:44張連東宋雪萍張博聞
制造業(yè)自動(dòng)化 2017年11期
關(guān)鍵詞:二次開發(fā)程序

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

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

0 引言

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

目前集裝箱碼頭的集裝箱裝鎖拆鎖工藝均由人工完成,效率低下且無法保證操作人員的安全。因此,通過二次開發(fā)技術(shù)在虛擬環(huán)境中模擬工業(yè)機(jī)器人代替人工安裝扭鎖,對進(jìn)一步實(shí)現(xiàn)集裝箱扭鎖安裝技術(shù)的快速化、自動(dòng)化有著重要意義。

1 RobotStudio二次開發(fā)

RoboStudio是ABB機(jī)器人公司的一款離線機(jī)器人編程與仿真工具,能夠針對ABB工業(yè)機(jī)器人進(jìn)行離線編程與控制?;赗obotStudio平臺,通過二次開發(fā)軟件,針對海港集裝箱裝卸的實(shí)際情況進(jìn)行仿真,模擬、測試海港集裝箱扭鎖的自動(dòng)安裝過程。

本文中RobotStudio的二次開發(fā)主要用到了ABB SDK(software development kit)中的Controller API。這是一個(gè)由上至下的多層次樹型網(wǎng)絡(luò)結(jié)構(gòu),若要調(diào)用控制器的某個(gè)功能,則必須進(jìn)行逐級訪問。其結(jié)構(gòu)如圖1所示。

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

圖1 Controller API對象結(jié)構(gòu)圖

1.1 RobotStudio目標(biāo)點(diǎn)分析

在RobotStudio中,機(jī)器人的運(yùn)動(dòng)軌跡是由若干個(gè)目標(biāo)點(diǎn)按次序的連線組成。因此分析目標(biāo)點(diǎn)的構(gòu)成對機(jī)器人的軌跡規(guī)劃十分重要。

以目標(biāo)點(diǎn)P為例:

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

四元數(shù)由矢量部分和標(biāo)量部分組成,可表示成如下形式:

由于歐拉角到四元數(shù)的轉(zhuǎn)換與歐拉角的轉(zhuǎn)動(dòng)順序有關(guān)[3],以Z-Y-X的轉(zhuǎn)動(dòng)順序?yàn)槔?,定義分別為繞Z軸、Y軸、X軸旋轉(zhuǎn)角度,歐拉角到四元數(shù)的轉(zhuǎn)換可表示為:

將式(2)展開,得到:

將該式用于計(jì)算控制工具方位的四元數(shù),可實(shí)現(xiàn)歐拉角到四元數(shù)的轉(zhuǎn)換。

1.2 主要模塊設(shè)計(jì)

在RobotStudio已有的基礎(chǔ)功能之上,設(shè)計(jì)了目標(biāo)點(diǎn)設(shè)置模塊以及軌跡優(yōu)化模塊用以解決機(jī)器人運(yùn)行過程中對目標(biāo)點(diǎn)性質(zhì)判斷難的問題。

1.2.1 目標(biāo)點(diǎn)設(shè)置模塊

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

在設(shè)置時(shí),可設(shè)置一個(gè)抓取點(diǎn),一個(gè)安裝點(diǎn),以及若干個(gè)過渡點(diǎn)。多個(gè)過渡點(diǎn)的設(shè)置可使機(jī)器人躲避實(shí)際應(yīng)用環(huán)境中的障礙物。在設(shè)置完畢后可對目標(biāo)點(diǎn)的個(gè)數(shù)及參數(shù)進(jìn)行修改或重置。如果設(shè)置過程中出現(xiàn)錯(cuò)誤,該模塊會(huì)彈窗提醒操作者修改數(shù)據(jù)或設(shè)置內(nèi)容。該模塊的效果如圖2所示。

圖2 目標(biāo)點(diǎn)設(shè)置模塊

1.2.2 軌跡優(yōu)化模塊

該模塊的主要作用是對輸入的目標(biāo)點(diǎn)數(shù)據(jù)進(jìn)行整理、優(yōu)化。數(shù)據(jù)在錄入程序之后,會(huì)進(jìn)行列隊(duì)以構(gòu)成機(jī)器人的運(yùn)動(dòng)軌跡。一直到程序開始運(yùn)行前都可以對已輸入的目標(biāo)點(diǎn)進(jìn)行編輯。在開始運(yùn)行程序后,程序會(huì)根據(jù)最后的目標(biāo)點(diǎn)次序控制機(jī)器人進(jìn)行移動(dòng)。

由于目標(biāo)點(diǎn)的次序直接影響著機(jī)器人最終的運(yùn)動(dòng)軌跡,因此在程序中利用Queue隊(duì)列對輸入目標(biāo)點(diǎn)數(shù)據(jù)進(jìn)行儲(chǔ)存。該方法對數(shù)據(jù)的處理方法為“先進(jìn)先出,后進(jìn)后出”。這樣既可保證機(jī)器人的運(yùn)動(dòng)軌跡與輸入的數(shù)據(jù)相一致。該模塊的效果如圖3所示。

圖3 軌跡優(yōu)化模塊

1.3 控制程序

在利用二次開發(fā)程序控制RobotStudio時(shí),最主要的是機(jī)器人運(yùn)動(dòng)信息的交換,即二次開發(fā)程序的數(shù)據(jù)可以傳遞給RobotStudio自帶的Rapid程序,同時(shí)RobotStudio中的數(shù)據(jù)也能反饋給控制程序。

1.3.1 讀寫Rapid程序數(shù)據(jù)

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

將數(shù)據(jù)寫入Rapid程序,則是利用IRapidData.FillFromString方法來實(shí)現(xiàn)。如下示例為將Rapid程序中的Bool值zhuaqu的值改為Ture:

1.3.2 控制算法

控制機(jī)器人運(yùn)動(dòng)的難點(diǎn)在于對目標(biāo)點(diǎn)的分析,需要通過程序來判斷目標(biāo)點(diǎn)的性質(zhì)。不同性質(zhì)的目標(biāo)點(diǎn)則對應(yīng)著不同的機(jī)器人動(dòng)作。之前介紹的目標(biāo)點(diǎn)分為三類,即抓取點(diǎn)、安裝點(diǎn)和過渡點(diǎn),將目標(biāo)點(diǎn)的性質(zhì)跟隨目標(biāo)點(diǎn)的數(shù)據(jù)一同加入Queue隊(duì)列,在數(shù)據(jù)出列時(shí)對目標(biāo)點(diǎn)的性質(zhì)進(jìn)行判斷,即達(dá)到程序?qū)δ繕?biāo)點(diǎn)的分析效果。

二次開發(fā)程序?qū)C(jī)器人運(yùn)動(dòng)的控制主要通過循環(huán)嵌套和分支結(jié)構(gòu)的條件語句來實(shí)現(xiàn)。首先,在RobotStudio的Rapid程序中對應(yīng)三類目標(biāo)點(diǎn)的后續(xù)控制程序之前添加一個(gè)“開關(guān)”,“開關(guān)”由Bool值控制,True代表打開,F(xiàn)alse代表關(guān)閉。然后,在二次開發(fā)程序中,根據(jù)Queue隊(duì)列中出列的每一個(gè)目標(biāo)點(diǎn)數(shù)據(jù)附加的目標(biāo)點(diǎn)性質(zhì),將Bool值傳遞給Rapid程序。最后,Rapid程序根據(jù)接收到的Bool值來判斷該點(diǎn)的分類。Rapid控制程序如下。

舉例來說,在Rapid程序中,分別在抓取點(diǎn)、安裝點(diǎn)、過渡點(diǎn)的控制程序之前添加了zhuaqu、shifang、waitloop三個(gè)Bool值,默認(rèn)值都是False。當(dāng)被標(biāo)注為抓取點(diǎn)的p1點(diǎn)從數(shù)據(jù)隊(duì)列中出列的同時(shí),二次開發(fā)程序?qū)huaqu的True值發(fā)送給Rapid程序,Rapid即啟動(dòng)抓取動(dòng)作的控制程序。

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

圖4 目標(biāo)點(diǎn)性質(zhì)判斷的算法邏輯流程圖

2 仿真試驗(yàn)

為驗(yàn)證此次二次開發(fā)程序的適用性,在RobotStudio中建立虛擬仿真試驗(yàn)室。該實(shí)驗(yàn)室構(gòu)成如圖5所示。

建立好虛擬仿真實(shí)驗(yàn)室后,打開二次開發(fā)程序,錄入目標(biāo)數(shù)據(jù),本次仿真試驗(yàn)共錄入四個(gè)點(diǎn),分別為:

圖5 虛擬仿真實(shí)驗(yàn)室構(gòu)成

圖6 完成目標(biāo)點(diǎn)數(shù)據(jù)錄入

圖7 機(jī)器人運(yùn)行軌跡

點(diǎn)1:坐標(biāo)值[500,0,100],工具方位為繞Z軸旋轉(zhuǎn)90°,繞Y軸旋轉(zhuǎn)0°,繞X軸旋轉(zhuǎn)180°,該點(diǎn)為抓取點(diǎn)。

點(diǎn)2:坐標(biāo)值[500,0,200],工具方位為繞Z軸旋轉(zhuǎn)90°,繞Y軸旋轉(zhuǎn)0°,繞X軸旋轉(zhuǎn)180°,該點(diǎn)為過渡點(diǎn)。

點(diǎn)3:坐標(biāo)值[300,-300,200],工具方位為繞Z軸旋轉(zhuǎn)90°,繞Y軸旋轉(zhuǎn)0°,繞X軸旋轉(zhuǎn)180°,該點(diǎn)為過渡點(diǎn)。

點(diǎn)4:坐標(biāo)值[0,-450,200],工具方位為繞Z軸旋轉(zhuǎn)90°,繞Y軸旋轉(zhuǎn)0°,繞X軸旋轉(zhuǎn)180°,該點(diǎn)為安裝點(diǎn)。

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

點(diǎn)擊“運(yùn)行”,程序開始向RobotStudio發(fā)送數(shù)據(jù),機(jī)器人開始運(yùn)動(dòng)。機(jī)器人運(yùn)動(dòng)軌跡如圖7所示。

0段為機(jī)器人從初始點(diǎn)到達(dá)點(diǎn)1;1段為點(diǎn)1到點(diǎn)2;2段為機(jī)械手爪抓取扭鎖;3段為點(diǎn)2到點(diǎn)3;4段為機(jī)器人到達(dá)點(diǎn)3后等待程序相應(yīng);5段為點(diǎn)3到點(diǎn)4;6段為機(jī)器人等待扭鎖安裝指令;7段為機(jī)器人安裝扭鎖;8段為安裝完畢后機(jī)器人回到初始點(diǎn)等待下次循環(huán)。

機(jī)器人運(yùn)行過程平穩(wěn),均按照二次開發(fā)程序中的目標(biāo)點(diǎn)數(shù)據(jù)進(jìn)行運(yùn)動(dòng),達(dá)到預(yù)期目標(biāo)。

3 結(jié)束語

本文闡述了對RobotStudio進(jìn)行二次開發(fā)的思路以及開發(fā)方法,通過該二次開發(fā)程序,可對不同目標(biāo)點(diǎn)進(jìn)行判斷,并根據(jù)判斷結(jié)果決定機(jī)器人的運(yùn)動(dòng)。該二次程序可一次性添加多個(gè)目標(biāo)點(diǎn),避免在RobotStudio中設(shè)定目標(biāo)點(diǎn)的繁瑣過程。根據(jù)仿真的結(jié)果來看,此次二次開發(fā)的結(jié)果是值得肯定的,并可以在日后的扭鎖抓取研究中發(fā)揮作用。

[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]謝琛,張攀攀,費(fèi)海波.集裝箱扭鎖技術(shù)的現(xiàn)狀及發(fā)展趨勢[J].中國水運(yùn),2015.7(15):38-40.

[3]張帆,曹喜濱,鄒經(jīng)湘.一種新的全角度四元數(shù)與歐拉角的轉(zhuǎn)換算法[J].南京理工大學(xué)學(xué)報(bào),2002.26(4):376-380.

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

猜你喜歡
二次開發(fā)程序
淺談基于Revit平臺的二次開發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
西門子Operate高級編程的旋轉(zhuǎn)坐標(biāo)系二次開發(fā)
淺談Mastercam后處理器的二次開發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
試論我國未決羈押程序的立法完善
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動(dòng)“離婚”程序程序
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
Micaps3.2 版本二次開發(fā)入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
ANSYS Workbench二次開發(fā)在汽車穩(wěn)定桿CAE分析中的應(yīng)用
汽車零部件(2014年5期)2014-11-11 12:24:32
主站蜘蛛池模板: 无码精品福利一区二区三区 | 中文字幕波多野不卡一区 | 少妇精品久久久一区二区三区| 无码AV日韩一二三区| 国产精品一区在线麻豆| 国产成+人+综合+亚洲欧美| 久久久久无码精品| 99无码中文字幕视频| 国产精品一区在线观看你懂的| 久久久久久国产精品mv| 国产成人精品午夜视频'| 国产一区在线观看无码| 久久成人免费| 午夜精品久久久久久久无码软件| 五月婷婷综合网| 2048国产精品原创综合在线| 中国国语毛片免费观看视频| 欧美成a人片在线观看| 国产内射一区亚洲| 免费一级成人毛片| 波多野结衣中文字幕一区二区| 亚洲一级毛片| 91无码人妻精品一区| 麻豆精品在线| 亚洲欧洲免费视频| 97国产精品视频人人做人人爱| 久久毛片网| 怡春院欧美一区二区三区免费 | 久久天天躁狠狠躁夜夜2020一| 久久精品视频亚洲| 亚洲无线一二三四区男男| 最新亚洲av女人的天堂| 亚洲区视频在线观看| 91视频首页| 亚洲美女久久| 久热这里只有精品6| 一级毛片免费不卡在线视频| 国产亚洲精品资源在线26u| 国产高清在线观看| 亚洲人成人伊人成综合网无码| 久久人妻xunleige无码| 日韩无码黄色| 噜噜噜久久| 99久久性生片| 欧美午夜在线视频| 久久永久免费人妻精品| 在线看AV天堂| 国产精品成人一区二区不卡| 2024av在线无码中文最新| AV无码国产在线看岛国岛| 狠狠做深爱婷婷久久一区| 永久天堂网Av| 亚洲不卡影院| 亚洲全网成人资源在线观看| 国产XXXX做受性欧美88| 九九九久久国产精品| 亚洲二区视频| 怡春院欧美一区二区三区免费| 操美女免费网站| 四虎AV麻豆| 青青操视频在线| 国产亚洲精品在天天在线麻豆 | 无遮挡国产高潮视频免费观看| 91精品专区| 亚洲国产综合精品一区| 99re在线视频观看| 色综合激情网| 国产在线拍偷自揄观看视频网站| 久久久精品国产SM调教网站| 欧美在线视频不卡第一页| 幺女国产一级毛片| 中文国产成人精品久久| 欧美日韩一区二区三| 色综合中文综合网| 亚洲天堂网2014| 日韩国产精品无码一区二区三区| 国产精品视频导航| 欧美精品在线观看视频| 小13箩利洗澡无码视频免费网站| 国产a v无码专区亚洲av| 99999久久久久久亚洲| 久久无码免费束人妻|