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

基于點云的補漆機器人系統①

2022-01-06 08:04:56尹章杰
計算機系統應用 2021年11期
關鍵詞:機械汽車

劉 春, 尹章杰

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

1 引言

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

2 汽車的三維點云重建與數據處理

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

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

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

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

2.2 曲面路徑生成

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

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

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

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

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

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

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

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

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

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

圖4 有序化流程圖

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

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

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

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

圖6 曲面切片法

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

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

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

圖7 求交發計算過程

步驟2.1.從集合Q1開始, 一次遍歷每個點P1i, 通過立方體包盒法求出在Qr中距離P1i最近的點記為Pri_min.立方體包盒法能夠快速判斷點是否在盒子內, 如果在盒子外就不需要計算距離, 這樣節約了很多時間.立方體包盒法的方法如下: 以遍歷點為盒子中心, 盒子的初始邊長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中的數據遍歷完結束.

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

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

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

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

圖8 光柵型軌跡

3 補漆機器人系統設計

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

圖9 運動平臺模型

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

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

4 倍福運動控制系統設計

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

圖10 數據通信

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

圖11 各軸的運行時間

5 測試與分析

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

圖12 實驗效果圖

6 結語

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

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

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

猜你喜歡
機械汽車
機械革命Code01
電腦報(2020年35期)2020-09-17 13:25:53
調試機械臂
當代工人(2020年8期)2020-05-25 09:07:38
2019年8月汽車產銷環比增長 同比仍呈下降
汽車與安全(2019年9期)2019-11-22 09:48:03
ikbc R300機械鍵盤
電腦報(2019年40期)2019-09-10 07:22:44
汽車的“出賣”
簡單機械
機械班長
汽車們的喜怒哀樂
按摩機械臂
3D 打印汽車等
決策探索(2014年21期)2014-11-25 12:29:50
主站蜘蛛池模板: 九九热精品视频在线| 国内精品手机在线观看视频| 好吊妞欧美视频免费| 99热亚洲精品6码| 欧美有码在线| 欧美成人亚洲综合精品欧美激情| 国产91小视频在线观看| 久久亚洲AⅤ无码精品午夜麻豆| 亚洲天堂网2014| 亚洲欧美h| 国产不卡在线看| 无码人中文字幕| 91探花在线观看国产最新| 在线观看免费AV网| 国产丝袜无码精品| 国产成人91精品| 国产精品一区二区在线播放| 国产成人亚洲精品蜜芽影院| 亚洲精品爱草草视频在线| 久久狠狠色噜噜狠狠狠狠97视色| 日韩一二三区视频精品| 久久无码高潮喷水| 国产青青草视频| 国产视频一二三区| 色婷婷狠狠干| 一级看片免费视频| 色综合五月| h网址在线观看| 精品国产电影久久九九| av一区二区无码在线| 久久精品最新免费国产成人| 国产男女XX00免费观看| 日本高清有码人妻| 国产成人免费视频精品一区二区| 91亚洲免费视频| 国产人免费人成免费视频| 国产精品漂亮美女在线观看| 国产乱子伦手机在线| 在线观看精品自拍视频| 成·人免费午夜无码视频在线观看| 夜色爽爽影院18禁妓女影院| 伊人精品视频免费在线| 亚洲三级a| 日韩美女福利视频| 国产Av无码精品色午夜| 日韩A∨精品日韩精品无码| 国产精品无码AV中文| 国内精品自在欧美一区| www精品久久| 久草青青在线视频| 影音先锋丝袜制服| www中文字幕在线观看| 色天天综合| 高清亚洲欧美在线看| 午夜视频www| 免费啪啪网址| 伊人久综合| 亚洲综合一区国产精品| 欧美有码在线| 日本欧美午夜| 久久精品无码专区免费| 日本成人在线不卡视频| 精品福利网| 永久免费无码成人网站| 久久伊人操| 日韩精品成人网页视频在线| 福利视频一区| 欧美性精品| 人妻91无码色偷偷色噜噜噜| 一本一道波多野结衣av黑人在线| 国产爽妇精品| 日韩欧美国产综合| 在线观看视频一区二区| 91无码人妻精品一区| 沈阳少妇高潮在线| 国产欧美日韩视频一区二区三区| 四虎永久免费在线| 成年网址网站在线观看| 亚洲日本中文字幕乱码中文| 四虎AV麻豆| 亚洲综合国产一区二区三区| 国产精品99r8在线观看|