在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

3D深度機器視覺和機器臂的無序抓取

大象機器人科技 ? 來源:大象機器人科技 ? 作者:大象機器人科技 ? 2023-05-04 11:25 ? 次閱讀

pYYBAGRTHZuABFRNAJCGQgMx-24402.png

今天我記錄使用myCobot320 M5跟FS820-E1深度相機進行一個無序抓取物體的分享。

為什么會選擇深度相機和機械臂做一個案例呢?

2D相機(最常見使用的相機)可以捕捉二維圖像,也就是在水平和垂直方向上的像素值。它們通常用于拍攝靜態(tài)場景或移動的物體,并且無法提供深度信息。在機器視覺應(yīng)用中,2D相機可以用于圖像分類、目標檢測和識別等任務(wù)。

相比之下,深度相機可以捕捉深度信息,因此可以獲得物體的三維信息。這些相機使用各種技術(shù)來測量物體的深度,如結(jié)構(gòu)光、時間飛行和立體視覺等。在機器視覺應(yīng)用中,3D相機可以用于點云分割、物體識別和3D重建等任務(wù)。

2D相機捕獲到的信息已經(jīng)滿足不了一些特殊的情況,所以換上深度相機獲得的更多的信息,比如說物體的長寬高。

讓我們開始今天的主題。

FS820-E1

相機的環(huán)境搭建

首先我要搭建FS820-E1的開發(fā)環(huán)境,使用的是相機提供的RVS進行開發(fā)。可以利用RVS中的視覺算子寫成節(jié)點(Node)快速搭建抓取功能。

pYYBAGRTIt6AQZncAAFNjnwVD-o667.png

RVS工作界面

實時采集數(shù)據(jù)

在左上角窗口資源中,找到TyCameraResource 算子添加到算子圖中的 ResourceGroup 中,在算子列表搜索TyCameraAccess,trigger算子分別添加到算子圖中,并根據(jù)需要調(diào)整算子參數(shù)。然后點擊運行和屬性面板Trigger->ture即可查看可視化數(shù)據(jù)。沒有報錯能正常顯示即可進行下一步。

TyCameraResource 算子

●start 以及 stop 分別用于開啟、關(guān)閉資源算子的線程。auto_start 也是用于開啟資源算子,如果勾選,則僅在打開 RVS 軟件后第一次進入運行狀態(tài)時自動開啟資源線程。

●reset:在打開資源線程后如果需要更改屬性參數(shù),需要選中該選項進行重置。

TyCameraAccess 算子

●打開cloud、rgb、depth可視化屬性,將 cloud_color設(shè)置為-2,代表真實顏色

poYBAGRTIu2AYg0VAAEFCcv9r70402.png

myCobot 320-M5Stack

myCobot 320 是面向用戶自主編程開發(fā)的實踐型機器人產(chǎn)品最大有效臂展 350mm,最大負載 1KG,重復(fù)定位精度 ±0.5mm。

pYYBAGRTIvaANaAwAAC-3LaY3P0114.png

環(huán)境搭建

需要python 編譯環(huán)境以及控制機器人的庫pymycobot

pip install pymycobot --upgrade

poYBAGRTIv2AO6LMAACs1uwyjVc298.png

ps:使用的PC的顯卡最好是1060 2G獨顯以上,因為需要鍛煉圖片識別等操作,顯卡的性能越好運行得越快

無序抓取

接下來是實現(xiàn)機械臂的無序抓取,無論物體處于何種姿態(tài)都能過精準的抓到。下圖是整體的算子圖,也就是unstacking.xml工程文件

poYBAGRTIwyARiOqAAOl4OfWQ6g876.png

手眼標定

用棋盤格來進行手眼標定

準備:

●準備棋盤格,算好棋盤格行列數(shù),以及棋盤格邊長(mm)

●手眼標定分為眼在手上(eye in hand)、眼在手外(eye to hand)。根據(jù)不同情況將標定板和相機固定好。這里選擇eye to hand

pYYBAGRTIxqATaYoAALjYF002zY611.png

數(shù)據(jù)錄制

點擊左上角加載,打開unstacking_runtime/HandEyeCalibration/HandEyeCalibration.xml

poYBAGRTIyaAPrMEAAJWSvB9djA569.png

在屬性面板正確填寫標定板的行列數(shù),和標定板格子的單位長度,和數(shù)據(jù)保存的文件路徑

poYBAGRTIy2AKX7SAACaAK2JiEU516.png

啟動相機工程和機械臂開始進行標定.

標定前確保相機能完整識別完整的棋盤格,以及標定過程中,棋盤格是固定的,不能發(fā)生移動。運行完成會得到18組數(shù)據(jù)。

pYYBAGRTIzeAF9yIAAWUbP4rBG8325.png

計算標定結(jié)果

positional error 在 0.005(5 毫米)以內(nèi),則比較理想

poYBAGRTI0uAb6mGAAK-pjOwDYw833.png

poYBAGRTI22APX6KAAB9yfYRxdY517.png

坐標系轉(zhuǎn)換

此操作旨在將點云所處的坐標系——相機 rgb 鏡頭坐標系轉(zhuǎn)換至機器人坐標系,這一轉(zhuǎn)換涉及相機外參及手眼標定結(jié)果。

步驟:

●1)在算子圖中右鍵選擇在此處導(dǎo)入Group XML,導(dǎo)入RVSCommonGroup 中的HandToEye_Depth2Robot.group.xml。需要注意的是,除了該文件之外 ,還有HandInEye_Depth2Robot.group.xml。

●2)加載手眼標定數(shù)據(jù)組的pose端口與HandToEye_Depth2Robot組的rgb2robot 端口連接。

●3)拖入 LoadCalibFile 算子,用于加載標定文件,finshed 端口連接至HandToEye_Depth2Robot組的start端口;extrinsic_pose端口與rgb2depth 端口連接;start端口與InitTrigger端口finished端口連接。具體連接如下:

poYBAGRTI36Ab1IYAAIjbafw12g514.png

點擊 Group,找到 rgb2tcp 算子,在屬性面板的 pose 屬性處,粘貼手眼標定的結(jié)果。

pYYBAGRTI4iALgB6AAJUez-6YYU585.png

●5)通過前述步驟,我們已經(jīng)獲取了相機 rgb 鏡頭轉(zhuǎn)機器人坐標系的矩陣 rgb2robot 和相機深度鏡頭轉(zhuǎn)機器人坐標系的矩陣 depth2robot,此處我們將相機深度鏡頭坐標系下點云轉(zhuǎn)換至機器人坐標系下。

●6)首先拖入 Transform 算子,type 屬性選擇“PointCloud”,將 depth2robot 端口連接至該算子的pose 輸入端口,將 LoadLocalData 算子組的 pointcloud 端口連接到本算子的同名輸入端口。

poYBAGRTI-WAIQGHAAIHlY7T9JU660.png

AI訓(xùn)練

采集訓(xùn)練圖像

打開 unstacking_runtime/MaskRCNN/ty_ai_savedata.xml,內(nèi)容基本與錄制 RGB 圖像一致,在這里我們只需要調(diào)整 EmitSring 中的 string 參數(shù),設(shè)置為我們想要的路徑即可。點擊 Capture 錄制圖像。當然數(shù)據(jù)越多那是越好,越穩(wěn)定。

pYYBAGRTI_eAJBRfAAIJ1KqPwFc614.png

標注訓(xùn)練模型

目前為已錄制好的 RGB 標注,我們推薦使用 labelme 這款軟件,本文檔提供一種 labelme 的安裝方法。

●1.按照官網(wǎng)安裝pip

https://pip.pypa.io/en/stable/installation/

●2.安裝PyQt5

pip install PyQt5

●3.安裝labelme

pip install labelme

標注前準備

首先確定任務(wù)目標,明確在檢測過程中什么物體需要被檢測,什么物體不需要被檢測,從而有針對性的進行標注。

給定的標注條件無需過分苛刻,不要按照人的思維去考慮,而是按照自己主觀設(shè)定的標注思路是否便于落實代碼。

標注過程

●終端輸出labelme,打開軟件點擊OpenDir,選擇我們標注的路徑(在3.2.1采集訓(xùn)圖像Emit算子string路徑)

●點擊Create Polygons,為木塊繪制紅色的邊框

●完成后會彈出命名框,第一次請命名 wooden block,后續(xù)同類直接選擇

●當圖像內(nèi)所有箱子標注完成后,點擊 Save 進行保存,默認當前文件夾,默認名稱,隨后選擇 Next Image 切換到下一個圖像

訓(xùn)練AI模型

開unstacking_runtime/MaskRCNN/ty_ai_train.xml,這里只需要調(diào)整 data_directory 和classnames _filepath 路徑。點擊 start_train按鈕即開始訓(xùn)練。

最終會生成一個 train output 文件夾在這個文件夾中有命名為 model fial,pth是所需要的權(quán)重文件。

AI推理

1)拖入一個 Emit 算子,type 屬性選擇“pose”,重命名為“抓取參考Pose”,將 pose_roll 輸入入“3.141592654”。這個算子在后續(xù)的算子中使用。將該算子中 pose 端口與計算抓取點組down_pose 端口連接

2)雙擊展開計算抓取點組,需要預(yù)先使用 MaskRCNN 網(wǎng)絡(luò)對數(shù)據(jù)進行訓(xùn)練,將其中的AIDetectGPU 算子的 type 更改為MaskRCNN 并對應(yīng)修改其余配置文件參數(shù)。由于 AI 推理算子在正式運行前需要初始化運行一次,所以需要在算子前額外添加一個 Trigger(type 為 InitTrigger)。

3)AI 推理算子會獲得目標在 2D 圖像中的位置區(qū)域(即掩碼圖,對應(yīng)的是 obj_list 端口),之后我們需要將這些位置區(qū)域轉(zhuǎn)換到 3D 點云中,這一環(huán)節(jié)對應(yīng)的是 計算抓取點 組中的 ProjectMask 算子。對于 ProjectMask 算子,不僅需要給入 AI 推理算子獲得的 obj_list,還需要給入 2D 圖對應(yīng)的點云、2D圖采圖時所用的 rgb 鏡頭坐標系同點云坐標系的轉(zhuǎn)換矩陣、相機 rgb 鏡頭的內(nèi)參。這里已經(jīng)將點云轉(zhuǎn)換到了機器人坐標系,所以需要輸入 rgb 鏡頭到機器人坐標系的轉(zhuǎn)換矩陣。相機的 rgb 鏡頭內(nèi)參可以直接從相機參數(shù)文件中讀取。算子運行完成后,會獲得所有檢測目標的點云列表。

poYBAGRTJCWAKll-AAEwQY5UNvY471.png

機械臂定位抓取

定位識別

根據(jù) AI 推理后的流程,已經(jīng)獲得了在機器人坐標系下所有檢測目標的點云列表。接下來要獲得它的點云中心坐標。

1)雙擊展開 計算抓取點 組中 尋找目標 組。需要先篩選木塊,并按照木塊列表的 Z 軸坐標值進行篩選,篩選出最上層的木塊,并對上層木塊進行排序。因此這里使用 FilterBoxList 算子,重命名為“點云高度排序”,該算子的屬性值調(diào)整如下:

2)獲取平面,使用 FindElement,type 選擇“Plane”,獲得點云中適合抓取的平面。調(diào)整算子屬性distance_threshold 來調(diào)整所選取的平面。打開 cloud 可視化屬性來查看選取的平面。

3)獲取平面中心點,使用 MInimumBoundingBox 算子,重命名為“獲得外包框”,type 屬性選擇“ApproxMVBB”獲得一個方便機器人抓取的坐標中心點。這里需要給該算子一個 ref_pose,這里連接在3.3.4進行AI推理中提到的“TowardsDownPose”,表示繞著 X 軸旋轉(zhuǎn) 180°,使 Z 軸朝下,便于機器人抓取。打開“GetBoxCube”屬性面板 box 和 box_pose 可視化屬性即可顯示計算出的平面中心點。

4)調(diào)整木塊方向,使用AdjustBoxNode算子,該算子的作用是,選擇長度大于寬度的物體,將物體位姿進行改變,這里選擇yaw選擇90°

poYBAGRTJEyAHLyOAAKcVVNTMCM043.png

這樣就能夠獲取到坐標了

機械臂的抓取

在完成上述操作后,已經(jīng)獲得了目標點坐標,需要通過機器人和RVS軟件建立連接并進行 tcp通訊。進行實際抓取。

1)編寫TCP通訊代碼(RobotControl_Elephant.py),以下部分為截取,該代碼實現(xiàn)RVS軟件和機械臂的TCP通訊

#CAPTURE print("***get pose***%s"%time.asctime()) capture_cmd = "GET_POSES n" capture_bytes=bytes(capture_cmd,encoding="utf-8") sock_rvs.send(capture_bytes) #recv CAPTURE data = sock_rvs.recv(socket_buf_len) print("---------------------------接收的數(shù)據(jù)----------------------------") print(data) print("***data end***%s"%data[-1:]) print("***capture_receive***%s"%time.asctime()) if int(data[-1:]) == 1: print("***received CAPTURE result***n") if int(data[-1:]) == 2: print("***All finished!***" #P_FLAG = bool(1-P_FLAG) #print("切換拍照位") continue #break

2)將目標點進行調(diào)整坐標?例,將 ScalePose 算?的 type 設(shè)置為 Normal ,分別調(diào)整 pose 的( X 、Y 、Z )和( Roll 、Pitch 、Yaw)?例。scale_rpy:修改 pose 中 r p y 的單位。設(shè):57.2957795 。即從將弧度切換為?度。

3)最后,將ScalePose的 finished 和pose_list端口連接到最外層算子組的 MirrorOutput 端口, 并連接回 HandEyeTCPServer算子。至此,項目文件的編輯已經(jīng)完成。

poYBAGRTJKGAeIEhAAPrpAfKfYc391.png

效果展示

完成以上步驟,在unstacking.xml工程下,點擊運行,同時運行RobotControl_Elephant.py文件,識別到多個木塊選取其中一個木塊位姿就會發(fā)送給機械臂進行夾取。

poYBAGRTJLSAUSlcAID0gkdKWNA057.png

總結(jié)

總的來說這只是深度相機的一小點功能,后續(xù)甚至考慮將這幾個物體疊在一起又或者其他的不規(guī)則形狀來體現(xiàn)出它性能的強大。提前訓(xùn)練好模型,就能實現(xiàn)想要的效果。你期待我用它來做些什么呢?歡迎在地下留言,你們的點贊和關(guān)注將是我更新的動力!

審核編輯黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 3D
    3D
    +關(guān)注

    關(guān)注

    9

    文章

    2878

    瀏覽量

    107549
  • 機器視覺
    +關(guān)注

    關(guān)注

    162

    文章

    4372

    瀏覽量

    120327
  • 機械臂
    +關(guān)注

    關(guān)注

    12

    文章

    515

    瀏覽量

    24588
收藏 人收藏

    評論

    相關(guān)推薦

    解決方案 3D 視覺機器人賦能汽車制造新征程

    隨著智能化技術(shù)的不斷發(fā)展,汽車制造企業(yè)正積極尋求提升智能化水平的途徑。富唯智能的3D視覺引導(dǎo)機器抓取技術(shù)為汽車制造企業(yè)提供了一種高效、智能的自動化解決方案。
    的頭像 發(fā)表于 12-25 15:00 ?108次閱讀
    解決方案 <b class='flag-5'>3D</b> <b class='flag-5'>視覺</b><b class='flag-5'>機器</b>人賦能汽車制造新征程

    探索3D視覺技術(shù)在活塞桿自動化抓取中的應(yīng)用

    隨著工業(yè)4.0時代的到來,智能制造成為工業(yè)發(fā)展的重要趨勢。作為智能制造的關(guān)鍵技術(shù)之一,3D視覺技術(shù)在活塞桿抓取領(lǐng)域的應(yīng)用前景十分廣闊。
    的頭像 發(fā)表于 09-07 15:38 ?276次閱讀

    適用于3D機器視覺的高度可擴展的TI DLP技術(shù)

    電子發(fā)燒友網(wǎng)站提供《適用于3D機器視覺的高度可擴展的TI DLP技術(shù).pdf》資料免費下載
    發(fā)表于 08-23 09:57 ?0次下載
    適用于<b class='flag-5'>3D</b><b class='flag-5'>機器</b><b class='flag-5'>視覺</b>的高度可擴展的TI DLP技術(shù)

    微視傳感高性能3D視覺產(chǎn)品亮相2024上海機器視覺

    近日,2024上海機器視覺展在上海新國際博覽中心隆重舉行,微視傳感攜最新的高性能3D視覺產(chǎn)品亮相E2館2121展位,得到廣泛關(guān)注,這次展會不僅是微視傳感展示創(chuàng)新技術(shù)的舞臺,更是與行業(yè)同
    的頭像 發(fā)表于 08-06 15:15 ?663次閱讀
    微視傳感高性能<b class='flag-5'>3D</b><b class='flag-5'>視覺</b>產(chǎn)品亮相2024上海<b class='flag-5'>機器</b><b class='flag-5'>視覺</b>展

    3D視覺技術(shù)廣闊的應(yīng)用前景

    隨著工業(yè)自動化領(lǐng)域的迅猛進步,對制造過程中抓取作業(yè)的精度與效率提出了更為嚴苛的要求。作為機械構(gòu)造中的核心組件,活塞桿的精準抓取成為了保障產(chǎn)品質(zhì)量、提升生產(chǎn)效率的關(guān)鍵環(huán)節(jié)。在此背景下,3D視覺
    的頭像 發(fā)表于 07-29 15:56 ?342次閱讀
    <b class='flag-5'>3D</b><b class='flag-5'>視覺</b>技術(shù)廣闊的應(yīng)用前景

    紙箱的拆碼垛,3D視覺引導(dǎo)機器無序抓取

    在繁忙的物流倉庫中,紙箱的拆碼垛工作常常讓人頭疼不已。但是,現(xiàn)在有了富唯智能的3D視覺引導(dǎo)紙箱拆碼垛解決方案,這一切都變得輕松簡單!
    的頭像 發(fā)表于 06-17 16:59 ?316次閱讀
    紙箱的拆碼垛,<b class='flag-5'>3D</b><b class='flag-5'>視覺</b>引導(dǎo)<b class='flag-5'>機器</b>人<b class='flag-5'>無序</b><b class='flag-5'>抓取</b>

    海伯森3D線光譜榮獲2024機器視覺產(chǎn)業(yè)鏈創(chuàng)新先鋒獎

    )主辦的2024機器視覺技術(shù)與應(yīng)用峰會在深圳成功舉行,海伯森榮幸受邀出席活動,與此同時,海伯森核心產(chǎn)品之一的3D線光譜共焦傳感器榮獲了高工機器人2024
    的頭像 發(fā)表于 05-17 19:33 ?886次閱讀
    海伯森<b class='flag-5'>3D</b>線光譜榮獲2024<b class='flag-5'>機器</b><b class='flag-5'>視覺</b>產(chǎn)業(yè)鏈創(chuàng)新先鋒獎

    3D視覺技術(shù)無序抓取引導(dǎo)活塞桿

    隨著工業(yè)4.0時代的到來,智能制造成為工業(yè)發(fā)展的重要趨勢。作為智能制造的關(guān)鍵技術(shù)之一,3D視覺技術(shù)在活塞桿抓取領(lǐng)域的應(yīng)用前景十分廣闊。
    的頭像 發(fā)表于 05-13 13:40 ?290次閱讀
    <b class='flag-5'>3D</b><b class='flag-5'>視覺</b>技術(shù)<b class='flag-5'>無序</b><b class='flag-5'>抓取</b>引導(dǎo)活塞桿

    重磅| 奧比中光全新雙目系列3D相機,搭載自研芯片,為智能機器人而生

    設(shè)計的新一代深度引擎芯片MX6800,配備高性能主被動融合雙目成像系統(tǒng),能夠在戶外、室內(nèi)、夜晚、白晝等不同光照條件以及復(fù)雜多變的動態(tài)環(huán)境中穩(wěn)定輸出高質(zhì)量深度數(shù)據(jù),精準還原場景和物體的3D信息,廣泛適用于AMR、巡檢
    發(fā)表于 04-30 18:00 ?471次閱讀
    重磅| 奧比中光全新雙目系列<b class='flag-5'>3D</b>相機,搭載自研芯片,為智能<b class='flag-5'>機器</b>人而生

    富唯智能案例|3D視覺引導(dǎo)機器抓取鞋墊上下料

    隨著制造業(yè)對自動化、智能化需求的不斷提升,如何實現(xiàn)鞋墊上下料的精準、高效操作成為了企業(yè)亟待解決的問題。傳統(tǒng)的上下料方式往往依賴人工,存在效率低下、精度不足等問題。而富唯智能的3D視覺引導(dǎo)機器
    的頭像 發(fā)表于 04-08 16:57 ?407次閱讀
    富唯智能案例|<b class='flag-5'>3D</b><b class='flag-5'>視覺</b>引導(dǎo)<b class='flag-5'>機器</b>人<b class='flag-5'>抓取</b>鞋墊上下料

    制作一只3D打印的遙控機器

    機器狗頭部組裝 組裝完腿后,用扎帶收集伺服電機線,將電池放在身體的下部,并固定好。現(xiàn)在開始安裝機器狗的頭! 建議在打印前將3D頭部部分縮放至106%,這樣HC-SR04超聲波距離傳感器和伺服
    發(fā)表于 03-14 14:52

    技術(shù)基因+自主創(chuàng)新,光鑒科技塑造3D視覺感知新范式

    電子發(fā)燒友網(wǎng)報道(文/吳子鵬)根據(jù)高工機器人產(chǎn)業(yè)研究所(GGII)的統(tǒng)計數(shù)據(jù),預(yù)計到2027年我國機器視覺市場規(guī)模將超過560億元,其中3D視覺
    的頭像 發(fā)表于 01-16 00:22 ?1317次閱讀
    技術(shù)基因+自主創(chuàng)新,光鑒科技塑造<b class='flag-5'>3D</b><b class='flag-5'>視覺</b>感知新范式
    主站蜘蛛池模板: 色之综综| 国产精品爽爽影院在线| 啪一啪日一日| 亚洲线精品一区二区三区| 人人草人人爽| 午夜免费剧场| 亚洲国产视频一区| 日本精品视频四虎在线观看| 永久福利盒子日韩日韩免费看| 91精品日本久久久久久牛牛| 亚洲成a人v在线观看| 韩国免费三片在线视频| 国产美女视频黄a视频全免费网站| aaaaaaa欧美黄色大片| 精品色综合| 国产资源视频| 亚洲黄色小视频| 国产91久久最新观看地址| 1024毛片| 色偷偷成人| 天天玩天天操| 国产黄色a三级三级三级| 狠狠色丁香婷婷久久| 国产高清网站| 天堂网| 亚洲精品系列| 久久99热精品这里久久精品| 久草老司机| 1024手机看片国产旧版你懂的| 四虎欧美在线观看免费| 午夜影院网页| www三级| xx网成人| 欧美一卡2卡三卡4卡5卡免费观看 欧美一卡2卡三卡四卡五卡 | 伊人精品久久久大香线蕉99| 黑人边吃奶边扎下面激情视频| 5x性区m免费毛片视频看看| 色老头综合| 久久系列| 色爱区综合| 精品精品国产高清a毛片牛牛 |