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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

myCobot Pro600六軸機械臂與3D深度視覺:物體精確識別抓取堆疊

大象機器人科技 ? 來源:大象機器人科技 ? 作者:大象機器人科技 ? 2023-09-12 10:51 ? 次閱讀

myCobot 600技術案例

Introduction

隨著時代的進步,各種精密的機械臂,人形機器人不斷的問世。我們即將迎來到處都是機器人的高科技時代。為了跟上時代的腳步,我最近入手了一臺myCobot pro 600機械臂,我主要是想要用它來學習機械臂相關得控制以及機器視覺的項目,給以后的實踐中在本文中,我將記錄使用myCobot pro 600結合深度相機來實現物體得跟蹤以及抓取。

接下來我會介紹我使用到的設備

Equipment

myCobot pro 600

myCobot pro 600是一款六個自由度的機械臂,它的工作半徑最大達到600mm,它末端最大負載達到2kg,搭載的電機是諧波減速器。它還是一款以樹莓派4B為核心控制主板的嵌入式機械臂搭配ubuntu20.0的系統。我選擇他的原因有幾個:

1、它不需要額外的電腦進行控制,可以直接使用樹莓派進行控制

2、它的工作半徑和末端負載能力剛好適合我的場景

3、大象機器人為它設計了一款可視化的控制軟件robotflow,可以進行一些拖拽式的編程

1.png

SPECIFICATIONS

Degree of Freedom6
Payload2000g
Weight8800g
Working Radius600mm
Positioning Accuracy±0.5mm
Working Temperature-5℃~45℃
Working Lifespan2000h
Power InputDC 48V
JOINT ROTATION RANGE
Joint1-180°~+180°
Joint2-270°~+90°
Joint3-150°~+150°
Joint4-260°~+80°
Joint5-168°~+168°
Joint6-174°~+174°
Joint Maximum Speed115°/s

FS820-E1-Depth camera

深度相機可以捕捉深度信息,可以獲得物體的三維坐標,距離,尺寸和體積。深度相機使用多種算法技術來測量物體的深度,如結構光、時間飛行和立體視覺等。在機器視覺應用中,深度相機可以用于點云分割、物體識別和3D重建等任務。

2.png

ModelFS820-E1
Working Distance0.3m-1.4m
FOV(H/V)66°/44°
Accuracy(Z)0.14mm@400mm;1.53mm@700mm
Accuracy(XY)4.88mm@700mm
Depth Resolution1280*800
RGB Resolution1920*1080
Power InterfaceDC 12V/24V
Trigger SignalHR10A-7P-6S
Data InterfaceGigabit Ethernet
Power Consumption2.8W ~ 3.9W
TemperatureStorage:-10℃~55℃; Operation:0℃~45℃
Ingress ProtectionIP41
Size95mm45mm43mm
Weight228g

Project

我使用機械臂有一段時間了,大部分的時間都是用來去執行一些路徑,重復的做一些動作。如果只是這樣的話,機械臂在很多方面都是不能夠勝任人們的工作的。我們工作的時候手和眼睛是需要進行配合,當然機械臂我們要給他配置一個“眼睛”,就是深度相機。

我今天要記錄的是用機械臂+相機來是想物體的抓取,不只是一個平面的抓取,而是一個能夠根據獲取的深度信息進行判斷高度的抓取。

接下來我先簡要介紹一下項目的結構。

3.png

Clear Task:首先我們要明確我的目標,做一個深度視覺的機械臂抓取木塊的任務

Hardware preparation:機械臂使用的是mycobot pro 600,深度相機用的是FS820-E1

Hand-eye calibration:進行機械臂和相機之間的手眼標定,以建立它們之間的坐標系轉換關系。通過手眼標定,可以確定機械臂末端執行器的位置和姿態與相機坐標系之間的轉換關系,從而實現精確的視覺引導和抓取。

Object detection and recognition:確定被測物體為木塊,訓練算法識別木塊,通過大量的數據讓機器能夠精準的識別出被測物體

Robotic arm path planning:識別到被測物體之后返回一個物體的三維坐標,給到機械臂執行抓取,要規劃機械臂的運動軌跡達到抓取的點位

Test:完成上邊測試之后,需要進行測試,不斷的進行調整。

Execute:測試完成后,去執行任務

介紹完項目的結構,讓我們開始實現Hand-eye calibration。

Hand-eye calibration

通常情況下,對于機械臂執行視覺類的抓取任務,手眼標定是必需的。手眼標定是一種將機械臂的坐標系與深度相機的坐標系進行關聯的過程。通過手眼標定,可以確定機械臂末端執行器的位置和姿態與相機坐標系之間的轉換關系,從而實現精確的視覺引導和抓取。

第一步

需要準備一個標定板:選擇黑白相間的方格為標定板,棋盤格的幾何結構非常規則,方格之間的邊緣和角點位置可以被精確地計算和模型化。這使得標定算法可以準確地估計相機與棋盤格之間的幾何關系。

4.png

第二步

固定深度相機和機械臂

我要做的是眼在手外,就是eye to hand的模式,相機的位置不會隨著機械臂的改變而改變。

5.png

第三步

匹配特偵點

將標定板在相機視野范圍內進行多次的旋轉移動,捕獲這些圖片以提供豐富的圖片信息,對每個標定板圖像,使用角點檢測算法來提取標定板上的取方格交叉點的坐標特征點。

6.png

7.png

用的是相機自帶的RVS(robot vision suite)軟件,里面提前編寫好捕獲圖片,提取特征點,匹配特偵點的方法。

第四步

計算標定坐標值

得到了20張不同角度,不同位置的特偵點的數據,接下來使用RVS提供的算法在程序中進行計算得出eye to hand標定的值。記錄下手眼標定的結果等到后面進行機械臂坐標系和相機坐標系轉化的關鍵。

8.png

9.png

到這里手眼標定就結束了,接下來我們來訓練機器識別被測物體。

Object detection and recognition

首先得采集我們的被測物體,木塊。我們用一個開源軟件labelme,LabelMe是一個流行的開源圖像標注工具,用于創建和編輯圖像標注數據集。旨在簡化圖像標注的過程,并為機器學習計算機視覺任務提供標注數據。

采集被測物圖片

像前邊標定一樣,采集的圖片越多數據越精準。將他保存在指定的路徑中。

10.png

安裝labelme

python中安裝依賴庫,以便后續的使用

pip install PyQt5
pip install labelme

標注過程

打開labelme,找到我們保存采集圖片的路徑,然后點擊Create Polygons,為木塊繪制紅色的邊框,完成標記后給標記結果明明“wooden block”,一直重復這個步驟為木塊繪制邊框,直至標記完所有采集的圖片。

11.png

這是人為標記的木塊,要實現機器識別就得讓機器學會檢測該標記的物體。接下來要訓練AI 模型,RVS軟件中有這個算法,我們只需要將標記好的圖片提交到AI訓練功能,最后會生成一個Train output文件夾,在這里可以獲取標記的權重文件。

AI 推理

AI推理它使得訓練好的模型能夠應用到實際場景中,使用先前經過訓練的參數和權重來處理新的輸入數據,并生成相應的輸出結果。

1)使用 FilterBoxList 算子(重命名為"點云高度排序")來篩選木塊并按照木塊列表的 Z 軸坐標值進行排序。這個算子的屬性值需要按照下面的要求進行調整。

2)使用 FindElement 算子來獲取適合抓取的平面。在算子屬性中選擇類型為"Plane",并通過調整 distance_threshold 屬性來選擇合適的平面。可以打開點云可視化屬性來查看所選的平面。

3)使用 MinimumBoundingBox 算子(重命名為"獲得外包框")來獲取平面的中心點坐標。在算子屬性中選擇類型為"ApproxMVBB",并給該算子提供一個 ref_pose,這個 ref_pose 連接到先前提到的"TowardsDownPose"算子,它表示繞著 X 軸旋轉 180°,使 Z 軸朝下,以便機器人抓取。可以打開"GetBoxCube"屬性面板中的 box 和 box_pose 可視化屬性來顯示計算出的平面中心點。
12.png

總結起來,這個操作的目標是從點云中篩選出木塊并按照高度進行排序,然后找到適合抓取的平面,并計算該平面的中心點坐標。這個過程可能是為了進一步在機器人操作中使用這些信息,例如進行抓取任務或路徑規劃。
13.png

被測物體的識別和檢測就完成了。

再結合手眼標定,就能識別出木塊的時候會得到木塊的坐標信息。這樣就獲取到了木塊相對于機械臂的坐標。

14.png

下圖是RVS中的仿真模擬3D環境。最左邊帶坐標的是深度相機的坐標系的標志。

15.png

Robotic arm path planning

在上一步操作中,我們得到了resultPose,也就是木塊相對于機械臂的坐標,有了坐標就可以對機械臂進行控制,將機械臂的末端運行到被測物體坐標的上方。

下面是部分實現路徑規劃的代碼

import _thread
import socket
import json
import time
import sys
import math
import copy
import numpy as np
from RoboFlowSocket import RoboFlowSocket

#旋轉矩陣和歐拉角之間的轉換
defCvtRotationMatrixToEulerAngle(pdtRotationMatrix):
    pdtEulerAngle = np.zeros(3)

    pdtEulerAngle[2]= np.arctan2(pdtRotationMatrix[1,0], pdtRotationMatrix[0,0])

    fCosRoll = np.cos(pdtEulerAngle[2])
    fSinRoll = np.sin(pdtEulerAngle[2])

    pdtEulerAngle[1]= np.arctan2(-pdtRotationMatrix[2,0],(fCosRoll * pdtRotationMatrix[0,0])+(fSinRoll * pdtRotationMatrix[1,0]))
    pdtEulerAngle[0]= np.arctan2((fSinRoll * pdtRotationMatrix[0,2])-(fCosRoll * pdtRotationMatrix[1,2]),(-fSinRoll * pdtRotationMatrix[0,1])+(fCosRoll * pdtRotationMatrix[1,1]))

return pdtEulerAngle

defCvtEulerAngleToRotationMatrix(ptrEulerAngle):
    ptrSinAngle = np.sin(ptrEulerAngle)
    ptrCosAngle = np.cos(ptrEulerAngle)

    ptrRotationMatrix = np.zeros((3,3))
    ptrRotationMatrix[0,0]= ptrCosAngle[2]* ptrCosAngle[1]
    ptrRotationMatrix[0,1]= ptrCosAngle[2]* ptrSinAngle[1]* ptrSinAngle[0]- ptrSinAngle[2]* ptrCosAngle[0]
    ptrRotationMatrix[0,2]= ptrCosAngle[2]* ptrSinAngle[1]* ptrCosAngle[0]+ ptrSinAngle[2]* ptrSinAngle[0]
    ptrRotationMatrix[1,0]= ptrSinAngle[2]* ptrCosAngle[1]
    ptrRotationMatrix[1,1]= ptrSinAngle[2]* ptrSinAngle[1]* ptrSinAngle[0]+ ptrCosAngle[2]* ptrCosAngle[0]
    ptrRotationMatrix[1,2]= ptrSinAngle[2]* ptrSinAngle[1]* ptrCosAngle[0]- ptrCosAngle[2]* ptrSinAngle[0]
    ptrRotationMatrix[2,0]=-ptrSinAngle[1]
    ptrRotationMatrix[2,1]= ptrCosAngle[1]* ptrSinAngle[0]
    ptrRotationMatrix[2,2]= ptrCosAngle[1]* ptrCosAngle[0]

return ptrRotationMatrix

# 抓取位置的路徑規劃
defcompute_end_effector_pose(current_pose, tool_pose):
# 從位姿矩陣中提取旋轉矩陣和平移向量
    current_rotation = current_pose[:3,:3]
    current_translation = current_pose[:3,3]
    tool_rotation = tool_pose[:3,:3]
    tool_translation = tool_pose[:3,3]

# 計算工具坐標系在基坐標系下的位姿
    new_rotation = np.dot(current_rotation, tool_rotation)
    new_translation = np.dot(current_rotation, tool_translation)+ current_translation

# 組合旋轉矩陣和平移向量得到新的位姿矩陣
    new_pose = np.eye(4)
    new_pose[:3,:3]= new_rotation
    new_pose[:3,3]= new_translation

return new_pose

我們來一起看看效果如何。

Honeycam 2023-09-11 19-11-41.gif

我預留了一段距離,機械臂末端到木塊的距離。這一段距離是給機械安裝上夾爪的距離。我在桌面上放了幾張白紙,那是因為我使用的被測物體跟我放置的桌面的顏色相似度較高,為了能夠快速識別被測物體。

遇到的問題

1 最一開始在考慮機械臂跟深度相機如何建立聯系,兩個處理器之間建立聯系就有點復雜,最后用了python的socket的庫來實現上位機對myCobot pro 600的控制。

2 在測試的時候會有個別的坐標出現了偏差,后來檢測原因是因為,在做完手眼標定之后,機械臂和深度相機的位置一定是要固定住的,不能再標定完之后再去做改變。

3 被測物的識別的快慢的問題。在圖片中我們可以看到桌面上放了幾張白紙,那是因為我們的被測物體跟桌面的背景色的紋理有些相似,所以不能快速的識別出來。(是為了提高識別率從才放的白紙)機器終究還是機器,抵不過人類的眼睛。

總結

目前的項目還不夠完善,后續我考慮加上末端的執行器將木塊抓起來。但是這個也不能真正的運用到實際場景當中使用,是不需要我們來抓木塊。換個角度,如果說他是一堆零件堆在那,用機械臂將一大堆的零件進行分類,給人們提供一個幫助那就很有用了。因為在一堆雜亂的零件中找零件是一件非常痛苦的事情,如果有遇到過這個問題的就能明白我在說什么了。

如果你有什么想法,或者有趣的建議歡迎在下方評論留言。你要是覺得喜歡這篇文章給予我一個點贊或者評論吧!

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    212

    文章

    29403

    瀏覽量

    211247
  • 機械臂
    +關注

    關注

    13

    文章

    542

    瀏覽量

    25189
  • 大象機器人
    +關注

    關注

    0

    文章

    85

    瀏覽量

    57
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    大象機器人攜手進迭時空推出 RISC-V 全棧開源機械產品

    大象機器人成立于2016年,專注協作機器人研發與應用,產品線涵蓋輕量級協作機器人、人形機器人、仿生機器人等多種形態。拳頭產品myCobot系列以“全球最輕的機械
    發表于 04-25 17:59

    專為機器人教育而設計的創客友好型機械

    Pi 4 Model B Espressif ESP32S Elephant Robotics myCobot 320 m5 引言 今天文章的重點是使用myCobot 320機械
    的頭像 發表于 02-12 11:12 ?482次閱讀
    專為機器人教育而設計的創客友好型<b class='flag-5'>機械</b><b class='flag-5'>臂</b>

    如何使用PLC控制myCobot 320機械

    根據持續的用戶反饋,目前市場對 PLC 與 myCobot 系統集成的需求很大,因此本文提供的案例介紹了如何使用 PLC(可編程邏輯控制器)來控制 myCobot 320 機械。本案
    的頭像 發表于 01-23 14:03 ?851次閱讀
    如何使用PLC控制<b class='flag-5'>myCobot</b> 320<b class='flag-5'>機械</b><b class='flag-5'>臂</b>

    使用myCobot 280機械結合ROS2系統搭建機械分揀站

    這篇文章是來自Automatic Addison的開源項目,已獲作者授權轉載自github。本項目的主要內容是使用myCobot 280機械結合ROS2系統搭建機械分揀站。
    的頭像 發表于 01-15 09:22 ?549次閱讀
    使用<b class='flag-5'>myCobot</b> 280<b class='flag-5'>機械</b><b class='flag-5'>臂</b>結合ROS2系統搭建<b class='flag-5'>機械</b>分揀站

    深度解析!RK3568 加持機械是如何實現顏色識別抓取的?

    一、產品簡介TL3568-PlusTEB人工智能實驗箱國產高性能處理器64位4核低功耗2.0GHz超高主頻1T超高算力NPU兼容鴻蒙等國產操作系統二、實驗目的1、了解機械識別顏色抓取
    的頭像 發表于 01-15 08:07 ?529次閱讀
    <b class='flag-5'>深度</b>解析!RK3568 加持<b class='flag-5'>機械</b><b class='flag-5'>臂</b>是如何實現顏色<b class='flag-5'>識別</b>與<b class='flag-5'>抓取</b>的?

    國產芯RK3568教學實驗箱操作案例:顏色識別抓取積木

    一、實驗目的 本節視頻的目的是了解機械識別顏色抓取積木的基本原理和流程,并掌握機械
    發表于 12-05 14:30

    3D堆疊像素探測器芯片技術詳解(72頁PPT)

    3D堆疊像素探測器芯片技術詳解
    的頭像 發表于 11-01 11:08 ?3171次閱讀
    <b class='flag-5'>3D</b><b class='flag-5'>堆疊</b>像素探測器芯片技術詳解(72頁PPT)

    3D堆疊發展過程中面臨的挑戰

    3D堆疊將不斷發展,以實現更復雜和集成的設備——從平面到立方體
    的頭像 發表于 09-19 18:27 ?1642次閱讀
    <b class='flag-5'>3D</b><b class='flag-5'>堆疊</b>發展過程中面臨的挑戰

    探索3D視覺技術在活塞桿自動化抓取中的應用

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

    開源協作機器人myCobot 320結合人臉表情識別情緒!

    與眾不同的功能。通過結合人臉表情識別技術,我們可以讓機械感知到我們的情緒變化。當我們開心時,機械可以跟著一起開心地舞動;當我們傷心難過時
    的頭像 發表于 08-12 15:21 ?1273次閱讀
    開源<b class='flag-5'>六</b><b class='flag-5'>軸</b>協作機器人<b class='flag-5'>myCobot</b> 320結合人臉表情<b class='flag-5'>識別</b>情緒!

    智能目標顏色識別抓取丨國產Cortex-A55人工智能實驗箱機械案例分享

    智能目標顏色識別抓取丨國產Cortex-A55人工智能實驗箱機械案例分享
    的頭像 發表于 08-10 08:32 ?598次閱讀
    智能目標顏色<b class='flag-5'>識別</b><b class='flag-5'>抓取</b>丨國產Cortex-A55人工智能實驗箱<b class='flag-5'>機械</b><b class='flag-5'>臂</b>案例分享

    3D視覺技術廣闊的應用前景

    隨著工業自動化領域的迅猛進步,對制造過程中抓取作業的精度與效率提出了更為嚴苛的要求。作為機械構造中的核心組件,活塞桿的精準抓取成為了保障產品質量、提升生產效率的關鍵環節。在此背景下,3D
    的頭像 發表于 07-29 15:56 ?588次閱讀
    <b class='flag-5'>3D</b><b class='flag-5'>視覺</b>技術廣闊的應用前景

    蘇州吳中區多色PCB板元器件3D視覺檢測技術

    3D視覺檢測相較于2D視覺檢測,有其獨特的優勢,不受產品表面對比度影響,精確檢出產品形狀,可以測出高度(厚度)、體積、平整度等。在實際應用中
    的頭像 發表于 06-14 15:02 ?663次閱讀
    蘇州吳中區多色PCB板元器件<b class='flag-5'>3D</b><b class='flag-5'>視覺</b>檢測技術

    基于維力傳感器的機械自動裝配應用

    維力傳感器是一種特殊的力覺傳感器,可以測量物體在笛卡爾坐標系下三個軸向的力和力矩,其內部采用高度敏感的材料和精密機械構造,可以為機械提供
    的頭像 發表于 06-06 13:49 ?1246次閱讀
    基于<b class='flag-5'>六</b>維力傳感器的<b class='flag-5'>機械</b><b class='flag-5'>臂</b>自動裝配應用
    主站蜘蛛池模板: 国产三级a三级三级天天 | 一级特黄aaa大片在 一级特黄aaa大片在线观看视频 | 日韩综合图区 | 天天草狠狠干 | 午夜嘿嘿嘿 | 尻美女视频| 国产小视频在线播放 | 怡红院日本 | 六月婷婷网视频在线观看 | 国产一级做a爰片久久毛片男 | 性欧美videofree视频另类 | 国产成人精品一区二区三区 | 欧美激情 在线 | 天天操天天射天天 | 午夜影院h | 色视频在线观看免费 | 天天摸天天做天天爽在线 | 久久综合97色综合网 | 天天操天天插天天射 | 午夜大片网 | 四虎影院一区二区 | 亚洲午夜精品久久久久 | 国产美女视频黄a视频全免费网站 | 亚洲性天堂| 国产卡1卡2卡三卡网站免费 | 国产大乳美女挤奶视频 | 日在线视频| 亚洲第一色在线 | 精品噜噜噜噜久久久久久久久 | 国产成人精品曰本亚洲78 | h在线免费视频 | 国产成人毛片亚洲精品不卡 | 亚洲国产成人精彩精品 | 狠狠色丁香久久婷婷综 | 丁香花在线视频 | 天天摸天天看天天做天天爽 | 视频一区二区在线观看 | 尻逼尻逼 | 欧美性天天 | 久久精品香蕉视频 | 色婷婷电影 |