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





