基于AgileX PiPER機(jī)械臂的曲線和立方體識別
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在這個(gè)項(xiàng)目中,我們將探索如何將計(jì)算機(jī)視覺與機(jī)械臂控制相結(jié)合。我們將建立一個(gè)系統(tǒng),使用深度相機(jī)來檢測彩色塊和曲線,然后處理這些數(shù)據(jù)來指導(dǎo)AgileX PIPER機(jī)械臂完成精確的操作任務(wù)。對于任何對基于視覺的機(jī)器人感興趣的人來說,這是一個(gè)很好的起點(diǎn)!
你會學(xué)到什么
?使用OpenCV進(jìn)行色塊和曲線檢測
?基于深度相機(jī)數(shù)據(jù)的三維坐標(biāo)提取
?點(diǎn)云處理與曲線擬合和插值
?將計(jì)算機(jī)視覺與ROS和機(jī)械臂控制相結(jié)合
?路徑規(guī)劃和末端執(zhí)行器軌跡控制
硬件需求
?Orbbec Petrel(對齊深度+ RGB圖像:640x 400@30fps)
?英特爾RealSense D435(可選-對齊深度+ RGB圖像:640x 480@30fps)
?AgileX PIPER機(jī)械臂
軟件需求
1. PCL點(diǎn)云庫
使用on_nurbs選項(xiàng)編譯并安裝PCL。請參考Linux編譯的官方PCL文檔:
2. PIPER機(jī)械手驅(qū)動(dòng)程序
3. PIPER ROS控制
開始
步驟1:啟動(dòng)深度相機(jī)
啟動(dòng)攝像頭驅(qū)動(dòng)程序(以O(shè)rbbec Petrel為例):
步驟2:色塊檢測
啟動(dòng)顏色檢測節(jié)點(diǎn):
將出現(xiàn)兩個(gè)窗口:
?hsv_image:調(diào)整HSV滑塊以微調(diào)顏色檢測
?origin_image:單擊目標(biāo)顏色以自動(dòng)提取它們
點(diǎn)擊你的目標(biāo)顏色在origin_image窗口自動(dòng)搜索并提取它:
檢測到的塊的三維坐標(biāo)將在RViz中可視化:
步驟3:曲線檢測和軌跡規(guī)劃
啟動(dòng)曲線檢測節(jié)點(diǎn):
啟動(dòng)曲線檢測:
系統(tǒng)通過使用曲線擬合和插值來自動(dòng)處理曲線中反射引起的間隙,以創(chuàng)建光滑、連續(xù)的軌跡。
步驟4:安裝機(jī)械臂
查找并激活CAN總線連接:
啟動(dòng)PIPER控制節(jié)點(diǎn):
步驟5:配置逆運(yùn)動(dòng)學(xué)
設(shè)置匹諾曹IK計(jì)算(參見匹諾曹README的詳細(xì)信息):
步驟6:設(shè)置主位置
定義機(jī)械手的起始位置:
步驟7:想象道路
添加RViz插件來可視化/line_path主題:
現(xiàn)在你應(yīng)該看到生成的末端執(zhí)行器軌跡:
步驟8:執(zhí)行軌跡
運(yùn)行路徑執(zhí)行腳本:
該腳本支持三個(gè)鍵盤命令:
?r:記錄當(dāng)前幀的點(diǎn)云,從camera_color_frame_optical坐標(biāo)變換到arm_base坐標(biāo),生成控制路徑
?s:每按一次鍵,從路徑向機(jī)械手發(fā)送一個(gè)點(diǎn)
?p:連續(xù)發(fā)布到操縱器的整個(gè)路徑
按r確認(rèn)并生成軌跡/ transforme_cloud:
按s或p啟動(dòng)機(jī)械手沿軌跡運(yùn)動(dòng)!
下一個(gè)步驟
這個(gè)項(xiàng)目展示了視覺引導(dǎo)操作的基本原理。您可以將其擴(kuò)展為:
?添加多目標(biāo)跟蹤
?實(shí)現(xiàn)抓取規(guī)劃算法
?結(jié)合力反饋控制
?擴(kuò)展到不同的機(jī)器人平臺
本文編譯自hackster.io





