一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

專為機器人教育而設計的創(chuàng)客友好型機械臂

大象機器人 ? 來源:大象機器人 ? 2025-02-12 11:12 ? 次閱讀

本文重點介紹了一款專為機器人教育而設計的具有動態(tài)跟蹤功能的創(chuàng)客友好型機械

硬件組件

M5Stack ESP32 Basic Core IoT Development Kit

Raspberry Pi 4 Model B

Espressif ESP32S

Elephant Robotics myCobot 320 m5

引言

今天文章的重點是使用myCobot 320機械臂重新創(chuàng)建一個視覺跟蹤案例,該案例由Elephant Robotics作為官方解決方案提供,使用戶能夠快速上手并逐步跟進,以查看如何重現(xiàn)結果并識別任何潛在問題。 設備

myCobot 320 M5Stack

myCobot 320 M5Stack是six-degree-of-freedom的機械臂,工作半徑為350mm,末端執(zhí)行器最大有效載荷為1kg,支持各種主流編程語言和操作系統(tǒng),本文主要使用Python來控制機械臂。

從圖像中我們可以看到,該裝置由一個 myCobot 機械臂和一個用于捕獲圖像數(shù)據的相機組成。機械臂的具體參數(shù)如下。

061e3d40-e85c-11ef-9310-92fbcf53809c.png


照相機


你不需要使用和我一樣的相機;關鍵是它可以安裝在機械臂的末端執(zhí)行器上,并且可以通過USB電纜獲取圖像數(shù)據。對于這個設置,我使用了myCobot Pro Camera Flange,這是大象機器人專門為myCobot改裝的末端執(zhí)行器相機。

0647c03e-e85c-11ef-9310-92fbcf53809c.png



環(huán)境設置
●操作系統(tǒng):Windows 10
●編程語言:Python
●IDE:PyCharm
●庫:Numpy、OpenCV、STag、pymycobot、json、time(推薦這些庫的最新版本)
知識介紹
openCV
OpenCV(開源計算機視覺庫)是一個用于計算機視覺和機器學習的開源軟件庫,廣泛應用于圖像處理、視頻分析和目標檢測。OpenCV為開發(fā)人員提供了一套豐富的工具,用于處理圖像數(shù)據和實現(xiàn)復雜的視覺算法。在機械臂的背景下,OpenCV可用于視覺跟蹤,其中相機實時捕捉目標,分析和提取目標的位置和運動軌跡。然后機械臂根據這些信息調整其運動,實現(xiàn)精確的對象抓取和操縱。這種視覺跟蹤技術廣泛應用于自動化、工業(yè)機器人智能制造。
Stag
STag標記是一種二維條碼系統(tǒng),廣泛用于機器視覺中的標記檢測和空間定位。這些標記由黑白圖案組成,通常呈方形,中心有獨特的二進制圖案,使它們能夠被計算機視覺系統(tǒng)快速準確地識別。
手眼校準-手眼配置(Hand-Eye Calibration – Eye-in-Hand Configuration)
手眼校準涉及確定相機(眼睛)和機械臂末端執(zhí)行器(手)之間的精確空間和方向關系。在這種情況下,我們主要討論的是“手眼”場景,它指的是本項目中遇到的情況。手眼校準對于建立相機相對于機械臂末端執(zhí)行器的定位方式至關重要。在手眼配置中,相機安裝在機械臂末端執(zhí)行器上,因此視野和相機角度隨著機械臂的移動而變化。目標是計算相機坐標系和機械臂末端執(zhí)行器坐標系之間的變換。這使得機器人能夠通過相機感知周圍環(huán)境,并執(zhí)行目標跟蹤和精確抓取等任務。

06719c74-e85c-11ef-9310-92fbcf53809c.png



眼校準步驟
1.相機姿態(tài)變化:在手眼配置中,相機的視角隨著機械臂的每次移動而變化。通過移動機械臂,可以捕捉校準對象的多個視點,從而產生相機不同姿態(tài)的數(shù)據。
2.數(shù)據收集:機械臂被移動到幾個不同的位置,每次,它捕獲校準板或特定物體的圖像。末端執(zhí)行器的姿態(tài)(由編碼器提供)和物體的姿態(tài)(通過圖像處理計算)被記錄下來。
3、攝像機與末端執(zhí)行器關系的求解:利用最小二乘等算法,計算攝像機與末端執(zhí)行器之間的變換矩陣,建立它們之間的坐標變換關系。
用代碼實現(xiàn)該過程主要分為兩部分:校準過程和跟蹤運動模塊。
校準過程
1.坐標轉換
在手眼標定過程中,涉及不同坐標系之間的變換。關鍵坐標系如下:
●世界幀(W):通常固定在環(huán)境中的參考幀。
●底架(B):固定在機械臂底座的框架,用于表示手臂的姿勢。
●末端執(zhí)行器框架(E):當相機安裝在機械臂末端執(zhí)行器上時,該框架代表手臂末端執(zhí)行器的姿勢。
●相機框架(C):固定在相機上的框架,用于描述相機看到的物體的姿勢。
在手眼標定中,目標是解決攝像機框架和機械臂末端執(zhí)行器框架之間的變換矩陣。這使得攝像機檢測到的物體的姿態(tài)被轉換成機械臂末端執(zhí)行器坐標,從而實現(xiàn)對目標物體的精確操作。

def eyes_in_hand_calculate(self, pose, tbe1, Mc1, tbe2, Mc2, tbe3, Mc3, Mr):
 
        tbe1, Mc1, tbe2, Mc2, tbe3, Mc3, Mr = map(np.array, [tbe1, Mc1, tbe2, Mc2, tbe3, Mc3, Mr])
        # Convert pose from degrees to radians
        euler = np.array(pose) * np.pi / 180
        Rbe = self.CvtEulerAngleToRotationMatrix(euler)
        Reb = Rbe.T
        
        A = np.hstack([(Mc2 - Mc1).reshape(-1, 1), 
                    (Mc3 - Mc1).reshape(-1, 1), 
                    (Mc3 - Mc2).reshape(-1, 1)])
        
        b = Reb @ np.hstack([(tbe1 - tbe2).reshape(-1, 1), 
                            (tbe1 - tbe3).reshape(-1, 1), 
                            (tbe2 - tbe3).reshape(-1, 1)])
        
        U, S, Vt = svd(A @ b.T)
        Rce = Vt.T @ U.T
        
        tce = Reb @ (Mr - (1/3)*(tbe1 + tbe2 + tbe3) - (1/3)*(Rbe @ Rce @ (Mc1 + Mc2 + Mc3)))
        
        eyes_in_hand_matrix = np.vstack([np.hstack([Rce, tce.reshape(-1, 1)]), np.array([0, 0, 0, 1])])
        return eyes_in_hand_matrix

2.數(shù)據收集

通過將機械臂移動到不同的位置,收集有關機械臂末端執(zhí)行器的各種位置和相機觀察的數(shù)據。

在您的代碼中,機械臂的姿勢是通過調用“ml.get_coords()”方法獲得的,而相機的位置數(shù)據是通過“stag_identify()”函數(shù)收集的,該函數(shù)識別標記對象。

def reg_get(self, ml):
    for i in range(30):
        Mc_all = self.stag_identify()  
    tbe_all = ml.get_coords()  
    ...
    return Mc, tbe

3.坐標變換矩陣

根據每個位置的數(shù)據,可以導出兩種轉換:

Ai是機械臂末端執(zhí)行器在不同位置的變換矩陣,代表末端執(zhí)行器的運動。

●Bi是相機在相機坐標系中觀察到的物體的變換矩陣,代表相機的運動。

這些變換矩陣通過視覺系統(tǒng)和機械臂系統(tǒng)(使用'get_coords')獲得。

4.求解校準矩陣

根據校準模型:

0685a700-e85c-11ef-9310-92fbcf53809c.png

●Ai代表機械臂末端執(zhí)行器的運動(從世界框架到末端執(zhí)行器框架)。

●Bi表示相機的運動(在相機坐標系中看到的物體的運動)。

●Xce是待求解的手眼校準矩陣,代表相機和機械臂末端執(zhí)行器之間的剛體變換。

通過收集Ai和Bi的多個位置,可以使用最小二乘法來求解Xce。雖然代碼中沒有顯示這部分邏輯,但通??梢允褂肧VD分解等方法來解決。

保存收集到的數(shù)據并計算結果后,就可以實現(xiàn)后續(xù)的跟蹤功能。

[[0.9825202432037423, 0.03775722308035847, 0.1822864882543945, -21.50838594386444], [-0.04022441808787263, 0.9991420672993772, 0.009855229181470597, -0.6545263884052905], [-0.1817579926285262, -0.017015330087522124, 0.9831960692850951, 59.71321654600654], [0.0, 0.0, 0.0, 1.0]]

5. 視覺跟蹤

手眼校準的輸出是一個剛體變換矩陣,用于描述相機和機械臂的末端執(zhí)行器之間的空間關系。該矩陣構成了機械臂視覺控制和操作的基礎。利用這個矩陣,機械臂可以將視覺系統(tǒng)感知到的物體位置轉換為自己的坐標系。前面提到的 STag 代碼是使用 OpenCV 算法識別的。

def stag_robot_identify(self, ml):
        marker_pos_pack = self.stag_identify()
        target_coords = ml.get_coords() 
        while (target_coords is None):
            target_coords = ml.get_coords()
        # print("current_coords", target_coords)
        cur_coords = np.array(target_coords.copy())
        cur_coords[-3:] *= (np.pi / 180)  
        fact_bcl = self.Eyes_in_hand(cur_coords, marker_pos_pack, self.EyesInHand_matrix) 
        
        for i in range(3):
            target_coords[i] = fact_bcl[i]
        
        return target_coords

基于從識別出的代碼中返回的坐標,機械臂相應地移動,沿末端執(zhí)行器的 XYZ 軸進行運動,以實現(xiàn)跟蹤目標。

def vision_trace_loop(self, ml):
    mc.set_fresh_mode(1)
    time.sleep(1)
 
    ml.send_angles(self.origin_mycbot_horizontal, 50) 
    self.wait() 
    time.sleep(1)
 
    origin = ml.get_coords()  
        while 1:
        target_coords = self.stag_robot_identify(ml) 
        target_coords[0] -= 300  
        self.coord_limit(target_coords)  
        print(target_coords)
        for i in range(3):
            target_coords[i+3] = origin[i+3]  
        ml.send_coords(target_coords, 30)

總結

總體來說,在運行這段代碼的時候,可能還是會出現(xiàn)一些小插曲,有些功能沒有完全解釋清楚。使用過許多手眼校準方法后,我發(fā)現(xiàn)這是更直接的自動校準方法之一,盡管它缺乏一些精度,但可以通過優(yōu)化來改進??偟膩碚f,這個案例值得探索,特別是對于那些對機械臂和視覺系統(tǒng)有一定了解的人來說!

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

    關注

    212

    文章

    29280

    瀏覽量

    210875
  • 機械臂
    +關注

    關注

    13

    文章

    540

    瀏覽量

    25130
  • 大象機器人
    +關注

    關注

    0

    文章

    85

    瀏覽量

    52

原文標題:使用myCobot 320機械臂實現(xiàn)視覺跟蹤和手眼校準案例

文章出處:【微信號:ElephantRobotics,微信公眾號:大象機器人】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

    大象機器人成立于2016年,專注協(xié)作機器人研發(fā)與應用,產品線涵蓋輕量級協(xié)作機器人、人形機器人、仿生機器人等多種形態(tài)。拳頭產品myCobot系
    發(fā)表于 04-25 17:59

    開源工業(yè)增強機械

    :是一套完全開源的系統(tǒng)平臺,增強機械擁有一套圖形化編程軟件,即用戶不需要懂任何編程的知識,只需要通過計算機電腦通過圖像拖拽機械就能夠對
    發(fā)表于 10-23 11:29

    機器人:高級創(chuàng)王總經典在線問答整理

    周四(03月 17日) 晚 上 20 點到21點,高級創(chuàng)王總在論壇進行了在線問答。原貼地址:EE對話#7(已結束)|高級創(chuàng)王總邀你在線交流智能
    發(fā)表于 03-18 15:08

    【Landzo C1申請】星創(chuàng)教育培訓

    申請理由:手上只有一塊arduino的板,沒有外設,通過您這個機器人,我們可以設計更多的課程,后期如果家長和學生喜歡,可以考慮大量采購,項目描述:我們是宜昌星創(chuàng)教育有限公司,想通過試
    發(fā)表于 06-06 17:58

    【KittenBot機器人試用申請】makers club創(chuàng)俱樂部新課程引進項目

    項目名稱:makers club創(chuàng)俱樂部新課程引進項目試用計劃:申請理由本人在少兒機器人教育、創(chuàng)
    發(fā)表于 07-10 11:29

    教育機器人方興未艾,你了解多少?

    交流。據了解,今后五年,機器人將以13%增長率成長,到2020年全球服務機器人市場規(guī)模將近160億美元,而作為服務機器人重要分支的教育
    發(fā)表于 12-20 10:01

    如何控制真實機械/機器人

    數(shù)據傳輸?shù)耐ǖ?,如何將ROS功能包計算得到的數(shù)據發(fā)給真實機器人并使之運動是問題的關鍵。機械有點復雜,我們先以簡單一些的ROS小車為例,看看ROS是如何讓真實小車動起來的。大家在某寶上搜索“ROS移動
    發(fā)表于 09-07 09:12

    機器人系統(tǒng)與控制需求簡介

    、KUKA、Yaskawa Motoman、FANUC2.2.1 本體結構本體結構分類:不同機器人建??刂频谋举|區(qū)別關節(jié)機械:串聯(lián)垂直多關節(jié)6軸
    發(fā)表于 09-08 07:44

    制作一個教育機器人

    描述K-Bot版本4機器人的設計理念是,任何人都可以使用教育機器人進行組裝、編程和教學活動。主要是為了讓任何教育水平的老師都能在課堂上和學生一起使用它。為了做到這一點,你只需要使用定制
    發(fā)表于 08-19 07:25

    mBot教育機器人套件演示

    mBot 是一款教育機器人套件,適合初學者獲得有關圖形編程,電子設備和機器人的實踐經驗。它是機器人學習的一體化解決方案,專為STEM
    的頭像 發(fā)表于 08-07 11:11 ?5085次閱讀

    機械和移動機器人的架構介紹

    本文比較了機械和移動機器人兩種工業(yè)機器人的控制系統(tǒng)方案,對其特點進行了介紹。 以上分類是根據應用對象,此外,市面上更多的是通用運動控制器
    的頭像 發(fā)表于 07-22 17:37 ?3602次閱讀

    智能小六軸機械重磅賦能機器人教育

    你有沒有想過擁有一臺可以幫你做很多事情的機器人? 它不是科幻電影的中巨型機器人,而是一個小巧緊湊的多功能機器人! 我有!我們已經把「想法」變成「現(xiàn)實」??煽康淖烂婕壭×S機械
    發(fā)表于 06-01 15:54 ?1511次閱讀
    智能小六軸<b class='flag-5'>機械</b><b class='flag-5'>臂</b>重磅賦能<b class='flag-5'>機器人</b><b class='flag-5'>教育</b>

    緊湊的小六軸機械,重磅賦能機器人教育

    你有沒有想過擁有一臺可以幫你做很多事情的機器人? 它不是科幻電影的中巨型機器人,而是一個小巧緊湊的多功能機器人! 我有!我們已經把「想法」變成「現(xiàn)實」??煽康淖烂婕壭×S機械
    發(fā)表于 06-06 12:44 ?1131次閱讀

    機械教育醫(yī)療領域的應用

    機械機器人技術領域中得到最廣泛實際應用的自動化機械裝置,在教育科研、商業(yè)應用、醫(yī)療健康等領域都能見到它的身影。
    的頭像 發(fā)表于 09-14 12:07 ?3502次閱讀

    自動化革命:大象機器人的Mercury A1機械

    。Mercury系列的推出,反映了大象機器人機器人技術未來趨勢的洞察,旨在滿足工業(yè)、教育和研究等多種場景的需求。這些機械不僅展現(xiàn)了卓越的
    的頭像 發(fā)表于 01-15 14:41 ?955次閱讀
    自動化革命:大象<b class='flag-5'>機器人</b>的Mercury A1<b class='flag-5'>機械</b><b class='flag-5'>臂</b>