亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于點云的補漆機器人系統(tǒng)①

        2022-01-06 08:04:56尹章杰
        計算機系統(tǒng)應用 2021年11期
        關鍵詞:引擎蓋噴漆曲面

        劉 春, 尹章杰

        (湖北工業(yè)大學 計算機學院, 武漢 430068)

        1 引言

        隨著汽車的普及, 為了提高噴漆的效率, 人們對噴漆機器人的軌跡進行了大量的研究.傳統(tǒng)工業(yè)機器人大多采用人工示教法[1], 由于汽車曲面復雜難以精確控制噴槍軌跡, 影響噴漆質量.為了克服這種不足, 2005年, Sheng等人[2]使用優(yōu)化目標函數(shù)的方法優(yōu)化復雜曲面的噴漆軌跡, 為復雜曲面噴槍軌跡規(guī)劃奠定基礎.Chen等人[3]采用三角網格劃分法對工件進行分片, 優(yōu)化了相鄰軌跡的噴涂距離, 得到了噴槍的軌跡, 此方法對曲率變化較小區(qū)域的噴涂軌跡有較好的功效.繆蘇毅等人[4]對于曲面的CAD模型的快速軌跡生成提供了思路, 提出噴槍軌跡可以通過自由曲面的點云數(shù)據得到.由于構建待噴工件的CAD模型的過程繁瑣, 并且使用CAD軟件操作員的熟練程度會影響模型的精度, 直接影響噴涂效率和質量.孫義東[5]提出采用曲面分割的方法并對曲面擬合簡化了噴涂軌跡所用到的模型.但是曲面分割得到的面片邊界具有不規(guī)則性, 雖然可以通過曲面擬合得到規(guī)則面片, 不過仍存在軌跡長度不一致的情況, 在交界處的軌跡也具有不規(guī)則性.由于工件表面的噴槍軌跡是由一系列等距路徑構成, 對點云數(shù)據進行均勻切片處理, 可以獲得等距的切片輪廓.因此本文采用點云切片技術, 直接對工件的點云數(shù)據進行計算, 自動生成噴槍的軌跡.

        2 汽車的三維點云重建與數(shù)據處理

        汽車曲面空間跨度大, 機械臂的運動空間有限.若使用對所有車型曲面打點進行軌跡規(guī)劃, 就存在坐標定位、任務接續(xù)、奇異點等問題.所以本文采用對汽車三維點云建模的方法, 對整個曲面進行統(tǒng)一的路徑規(guī)劃, 能夠完成補漆操作.

        2.1 基于運動恢復法SFM的汽車三維重建

        本文是基于運動恢復法SFM[6]對汽車進行三維重建, 該算法可以基于各種收集到的無序圖片進行三維重建.本文采用大疆精靈4無人機對汽車分為上中下3層進行10度間隔環(huán)繞拍照, 再用運動恢復法得到汽車的點云數(shù)據.效果如圖1所示.

        圖1 汽車建模獲得三維點云

        2.2 曲面路徑生成

        補漆時大多數(shù)情況下只需要對汽車某個曲面噴漆,因此需要將整車按曲面分割, 得到每個曲面的三維點云數(shù)據.以汽車前引擎蓋為例, 如圖2所示.

        圖2 汽車前引擎蓋三維點云

        通過三維建模獲得的點云數(shù)據分布不均勻且無序,但是機械臂的噴漆運動軌跡要求是有序的, 如“弓”字形或“之”字形, 因此需要對點云數(shù)據預處理, 將無序點云數(shù)據轉為有序軌跡點, 并提取出三維曲面點云的關鍵輪廓曲線.

        1) 首先確定三維點云中曲面的起始點: 對于右邊緣且閉合的點云曲面, 通過計算每兩個點之間的歐幾里得距離, 然后選擇距離最大兩個點中的一個點設為起始點P0.

        2) 八鄰域法提取輪廓: 點P確定為邊緣點后, 通過點P找出點云邊緣輪廓起始點, 得到點云的有序數(shù)據.以P點為球心, 求解包含八鄰域點在內的半徑最小的球, 由于點云不均勻分布, 點云的疏密程度會影響球的半徑, 且直接影響邊緣點的求解.

        采用如下定義鄰域: 在點云中隨機選取N個點, 在每個點Pi鄰近的8個點中計算距離Pi最遠的點與Pi的距離di.對所有的di求平均得到點云鄰域半徑的平均值.再計算di的標準差, 最終得到點云的鄰域半徑計算公式如下:

        半徑是一個統(tǒng)計平均值, 考慮到點云的疏密程度不同, 為了減少這種不均勻的影響, 所以對半徑額外疊加一個標準差, 確保在這個半徑下, 多數(shù)點的鄰域內有8個點.確定鄰域半徑后, 以起始點為圓心, 以為半徑求出圓內的所有點.假設三維空間中, 點與點之間存在像“彈簧”一樣的拉力[7], 那么每個點受到鄰域內其他點的拉力的合力會有大小和方向, 邊緣上的點只有一邊有其他點, 所以受拉力的合力較大, 而非邊緣上的點受到周圍其他點的拉力, 所以受拉力的合力較小.即可以用某點所受周圍點拉力的合力大小判斷該點是否為邊緣點.非邊緣點與邊緣點的受力情況如圖3所示.

        圖3 非邊緣點和邊緣點的受力情況

        由于點云分布散亂且不均勻, 因此點與點之間的距離的長度會不同, 因此只考慮點與點之間的受力而不考慮點與點之間的距離判斷一個點是否為邊緣點是不準確的.因此我們將每個點對圓心點的拉力進行了歸一化之后再累加, 再取平均值, 能很有效的消除點云之間不均勻帶來的影響.公式如下:

        當通過起始點作為邊緣種子店P0提取邊緣時, 將該種子點鄰域中拉力最大的一個點作為下一個種子點,循環(huán)此過程直到提取完畢.算法流程如圖4所示.

        圖4 有序化流程圖

        通過上面的算法, 以汽車前引擎蓋為例, 得到外圈輪廓, 然后刪除最外圈, 繼續(xù)使用上述算法, 可以得到整個的有序數(shù)據.如圖5是最外圈輪廓.

        圖5 汽車前引擎蓋外圈輪廓

        3) 生成曲面軌跡: 目前最常用的噴漆機器人噴涂軌跡規(guī)劃方法分為光柵形和回字形兩種.回字形路徑規(guī)劃方法在路徑規(guī)劃中易出現(xiàn)奇異點, 所以本文采用光柵形的軌跡規(guī)劃.

        通過對物體進行三維建模得到物體的三維點云,然而現(xiàn)實中的物體表面大多是不規(guī)則的曲面, 所以本文采用了基于切片法的軌跡規(guī)劃方法[8].本文將點云曲面用C表示, 切面用L、Lr和L1表示, 切距用δ表示,如圖6所示[9].

        圖6 曲面切片法

        以下為軌跡生成的具體步驟:

        步驟1.首先確定切片的方向, 切片的方向決定著軌跡的走向.一般的, 優(yōu)先選擇投影面積最大曲面進行規(guī)劃, 然后將曲面的最大長寬計算出來, 選擇從長度較小的地方開始切, 這樣能夠使機器人可能一次性走完一條路徑.在進行切片時, 先插入切面L, 然后在平行平面L分別向左和向右移動δ/2的位置插入切片L1和Lr, 此時, 將L1切面和L切面之間的點放入集合Q1中,將L切面和Lr切面之間的點放入集合Qr中, 此時完成一次切片.每次處理好切片數(shù)據后只需要將切面L向左或者向右移動δ并重復插入切面L1和Lr操作,直到點云中的數(shù)據被全部切完.如圖7所示.

        步驟2.通過步驟1將得到切片好的數(shù)據, 接下來進行匹配處理, 這一步是最重要的一步, 如圖7所示,Q1和Qr分別代表切面L左側和右側的點的集合.這一步的具體步驟如下:

        圖7 求交發(fā)計算過程

        步驟2.1.從集合Q1開始, 一次遍歷每個點P1i, 通過立方體包盒法求出在Qr中距離P1i最近的點記為Pri_min.立方體包盒法能夠快速判斷點是否在盒子內, 如果在盒子外就不需要計算距離, 這樣節(jié)約了很多時間.立方體包盒法的方法如下: 以遍歷點為盒子中心, 盒子的初始邊長a=δ/4, 然后遍歷Qr中的點是否在盒子內,如果盒子內未找到點, 則將a按步長t=a進行遞增查找.

        步驟2.2.同樣的, 依次遍歷Qr中的點Pri, 通過立方體包盒法遍歷找出Q1中距離Pri最近的點記為P1i_min.如果P1i對應的最近點為Pri_min, 且將Pri_min作為Pri, 其對應的P1i_min與P1i為同一點, 則稱P1i與Pri構成匹配點對, 并將這兩點分別存入鏈表ListL和ListR中, 并且從集合Q1和Qr中去掉.

        步驟2.3.重復步驟2.1和步驟2.2, 直到Q1中的數(shù)據遍歷完結束.

        步驟3.匹配后的點需要解方程組, 求出每組點對直線相連與切面L的交點, 交點為軌跡上的點.設交點Pi的坐標為(xi,yi,zi), 計算方程如下:

        若切面沿X軸方向, 則交點的解為:

        其中,Xmin表示全部數(shù)據坐標X分量的最小值,k為對應切面.

        通過上述算法, 以汽車前引擎蓋為例, 得到了前引擎蓋的光柵軌跡, 如圖8所示.

        圖8 光柵型軌跡

        3 補漆機器人系統(tǒng)設計

        在硬件方面, 本文采用了龍門式運動平臺吊裝6軸機械臂的方案[10].平臺模型圖如圖9所示.

        圖9 運動平臺模型

        機械臂是由6個RJS系列機器人關節(jié)模組組成,機械臂基座懸掛式安裝在龍門框架的桁架滑臺上, 在機械臂末端安裝噴涂裝置, 噴涂裝置包括噴槍、噴壺和連接件.控制箱安裝在噴漆房外面, 由電源、控制元件和氣動元件組成.控制元件包括機械臂的控制元件和框架電機的控制元件, 將機械臂信號與框架電機信號進行了串聯(lián).

        軟件框架采用QT作為集成開發(fā)平臺, 包括了QT、Matlab、TwinCat3和Visual Studio (VS)的聯(lián)合開發(fā).QT用來編寫人機交互界面, 由于QT是C++圖形用戶界面應用程序的開發(fā)框架, 在VS中調用QT, 只需要在VS中安裝一個VS的QT插件, 就可以在VS中創(chuàng)建和管理QT項目.Matlab用來實現(xiàn)機械臂的仿真實驗, 采用的是調用Matlab引擎的方式實現(xiàn)機器人的仿真.TwinCat3是機械臂的運動控制軟件, 基于VS平臺開發(fā).所以本文以VS作為集成開發(fā)平臺.

        4 倍福運動控制系統(tǒng)設計

        本系統(tǒng)采用的是串聯(lián)的8軸機器人, 只需要通過一根總線就可以與PC端連接, 需要控制9臺電機, 在Y軸桁架上是兩個電機控制[11].為了控制NC軸, 需要在TwinCat3中建立9個虛擬軸, 建立9個虛擬軸與NC軸的聯(lián)系.在PLC程序中, 在全局變量中建立9個軸變量“Axis_REF”對應9個電機, 這樣就通過PLC程序控制軸的位置狀態(tài)和運行狀態(tài).PLC中有上下使能功能、運動控制功能和手動示教功能, 其中最主要的功能是運動控制功能, 在運動控制模塊中包含了27個數(shù)組變量, 其中9個數(shù)組是用來接收機械臂的位置數(shù)據, 9個數(shù)組是用來接收機械臂的速度數(shù)據, 還有9個數(shù)組是用來接收機械臂的加速度數(shù)據.為了實現(xiàn)將本地的軌跡數(shù)據下發(fā)到PLC程序, 本文使用了倍福公司定義的一種專門協(xié)ADS[12].ADS用于TwinCat3設備之間的非周期性通信.ADS通信是基于TCP/IP之上的應用協(xié)議, 所以當它用于控制器之間與TwinCat3設備通信時, 保證控制器之間的TCP/IP通信正常, 安裝TwinCat3的網卡.ADS通信支持有線和無線連接.ADS通信具有實時性, 應用程序與TwinCat3在用一臺IPC或者EPC上, 響應時間為3個任務周期[13].ADS通信是基于C++開發(fā)的[14], 在TwinCat3中支持C++編程, 可以很好地將通信模塊集成在TwinCat3的工程中.軌跡規(guī)劃完成后, 將數(shù)據保存在本地的文本文檔中, 每行有8個點, 每個點對應1個軸.PC端編寫C++程序讀取文本數(shù)據, 通過ADS協(xié)議將, 通過ADS協(xié)議將數(shù)據寫入到PLC中對應的數(shù)組.本文采用了TwinCat3 ADS通訊方式中的同步方式, 其優(yōu)點在于能及時返回結果.同步方式通訊分為兩種, 即為讀操作和寫操作,針對讀和寫操作分別分為兩種方式, 即按變量名進行讀寫和按照地址進行讀寫.本文采用的是按照變量名對PLC進行讀寫操作.在TwinCat3的PLC程序中每個變量都有一個句柄, 在對變量進行操作之前, 首先要通過相關路徑得到變量的句柄, 然后進行讀寫操作, 操作完畢后對句柄進行釋放.數(shù)據通信如圖10所示.

        圖10 數(shù)據通信

        本文采用了PTP的運動模式, MC2.lib庫中提供了命令堆棧的功能, NC軸在執(zhí)行運動指令的時候, 最多允許再有一個指令排隊等候, 所以在編寫運動控制模塊時, 每次讀取兩個點, 一個是正在運行的指令, 另一個點是等候指令.其速度的運動模式取決于BufferMode的設置, 本文采用了MC_Buffered模式, 此模式即等前動作執(zhí)行完成, 停穩(wěn)后再執(zhí)行后動作.為了使八軸聯(lián)動時平穩(wěn)不抖動, 就需要計算每個指令的速度和加速度,本文采用Matlab機器人工具箱中的LSPB函數(shù)[15]求得各個軸的速度和加速度.每個軸的運行時間如圖11所示.

        圖11 各軸的運行時間

        5 測試與分析

        本實驗環(huán)境主要分為建模環(huán)境、PC電腦環(huán)境和運動環(huán)境.建模環(huán)境是在一個平行光源的封閉環(huán)境下,使用大疆的手持云臺拍照建模, 盡量減少人為抖動造成的誤差, 本實驗對汽車前引擎蓋為實驗對象, 實際建模效果基本達到了實驗的要求.PC端硬件環(huán)境是一臺搭載了CUP為i7 9700k和GPU為2080ti的臺式主機.軟件環(huán)境包括了建模環(huán)境、仿真環(huán)境和系統(tǒng)框架環(huán)境.其中建模和切割使用Contest Capture和Cloud Compare軟件, 仿真環(huán)境使用了Matlab的機器人工具包, 系統(tǒng)框架環(huán)境是部署在Visual Studio 2017, 在VS中安裝了QT插件Visual Studio Add-in和倍福的TwinCat3.運動環(huán)境包括了三軸龍門式運動平臺、六軸機械臂和控制箱.本文以汽車前引擎蓋實驗對象, 通過拍照建模的方法對汽車前引擎蓋建模, 得到前引擎蓋的三維點云數(shù)據, 使用算法對數(shù)據預處理, 將三維無序數(shù)據進行有序化, 得到滿足實驗要求的數(shù)據.應用切片法得到光柵型的軌跡, 使用Matlab建立的機械臂模型對光柵軌跡仿真,驗證軌跡的可行性.最后通過ADS傳輸協(xié)議將軌跡下發(fā)到PLC控制中, 調用運動程序完成對實驗對象的噴涂工作.以汽車前引擎蓋為例實際效果如圖12.

        圖12 實驗效果圖

        6 結語

        本文主要介紹了通過TwinCat3和Visual Studio設計了一個基于點云的噴漆機器人的運動控制系統(tǒng).首先利用SFM算法為汽車建立三維模型; 其次為了滿足整車噴漆需求, 設計了機械臂的運動平臺, 平臺設計采用了龍門式結構; 然后對汽車三維點云進行了切割,將點云數(shù)據進行有序化處理, 利用切片法計算出噴槍的軌跡.在PLC中編寫機械臂的運動控制程序, 包含手動示教模式和點對點運動模式, 最后編寫了TwinCat3的ADS通信協(xié)議將軌跡數(shù)據下發(fā)到PLC程序中, 包括運動軌跡點數(shù)據、速度和加速度數(shù)據3部分.

        通過實驗驗證了曲面軌跡數(shù)據和聯(lián)動方法.由于汽車曲面各不相同, 本方法能夠對汽車各個曲面進行噴槍的軌跡規(guī)劃, 使得機械臂能夠完成各個不同曲面的噴漆任務.

        本文下一步的工作是改善汽車三維建模環(huán)境, 采用更加精準的建模設備, 減少建模時的誤差.調整機械臂運動時的速度和加速度, 使機械臂運動時更平穩(wěn)減少抖動, 提高運動精度.

        猜你喜歡
        引擎蓋噴漆曲面
        噴漆廢氣環(huán)保治理措施分析
        VARI成型碳纖維引擎蓋剛度有限元分析
        干式噴漆室的商用化
        上海涂料(2021年5期)2022-01-15 06:09:44
        某乘用車引擎蓋模態(tài)性能與抗凹性能分析
        相交移動超曲面的亞純映射的唯一性
        圓環(huán)上的覆蓋曲面不等式及其應用
        CAE分析在汽車引擎蓋結構設計中的應用
        智能制造(2016年6期)2016-08-03 08:40:08
        汽車小損傷免噴漆無損修復技術
        基于曲面展開的自由曲面網格劃分
        基于LS—dyna的汽車引擎蓋關閉過程的沖擊分析
        智能制造(2015年7期)2015-11-20 23:29:02
        中文字幕无码不卡一区二区三区| 一级老熟女免费黄色片| 日韩亚洲中文有码视频| 99久久国产综合精品女图图等你| av在线色| 亚洲av国产大片在线观看| 91精品啪在线观九色| 亚洲精品成人av在线| 亚洲AV无码一区二区三区日日强| 久久精品国产亚洲av成人擦边 | 欧美牲交a欧美牲交aⅴ| 国产乱人伦偷精品视频| 久久精品国产88久久综合| 不卡免费在线亚洲av| 人妻精品久久无码区| 国产精品久久久久久久久KTV| 蜜桃一区二区免费视频观看| 蜜臀av一区二区三区久久| 国产精品无码无片在线观看3d | 精品私密av一区二区三区| 特黄熟妇丰满人妻无码| 国产精品女同一区二区| 亚洲人av毛片一区二区| 久久一本日韩精品中文字幕屁孩| 久久国内精品自在自线图片| 欧美亚洲国产人妖系列视| 好看的中文字幕中文在线| 国产精品视频一区二区三区不卡| 最新亚洲人成无码网站| 国产高清精品在线二区| 色综合久久中文综合网亚洲| 国产一卡2卡3卡四卡国色天香| 成人片在线看无码不卡| 国产在线视频网友自拍| 全免费a敌肛交毛片免费| 亚洲三级黄色| 国产精品亚洲在钱视频| 亚洲精品国产精品乱码在线观看 | 日韩一区二区,亚洲一区二区视频 国产一区二区三区经典 | 免费看黄色电影| 一区二区三区福利在线视频|