chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

大象機(jī)器人 ? 來(lái)源:大象機(jī)器人 ? 2025-02-12 11:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

硬件組件

M5Stack ESP32 Basic Core IoT Development Kit

Raspberry Pi 4 Model B

Espressif ESP32S

Elephant Robotics myCobot 320 m5

引言

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

myCobot 320 M5Stack

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

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

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


照相機(jī)


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

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



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

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



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

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ù)據(jù)收集

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

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

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

3.坐標(biāo)變換矩陣

根據(jù)每個(gè)位置的數(shù)據(jù),可以導(dǎo)出兩種轉(zhuǎn)換:

Ai是機(jī)械臂末端執(zhí)行器在不同位置的變換矩陣,代表末端執(zhí)行器的運(yùn)動(dòng)。

●Bi是相機(jī)在相機(jī)坐標(biāo)系中觀察到的物體的變換矩陣,代表相機(jī)的運(yùn)動(dòng)。

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

4.求解校準(zhǔn)矩陣

根據(jù)校準(zhǔn)模型:

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

●Ai代表機(jī)械臂末端執(zhí)行器的運(yùn)動(dòng)(從世界框架到末端執(zhí)行器框架)。

●Bi表示相機(jī)的運(yùn)動(dòng)(在相機(jī)坐標(biāo)系中看到的物體的運(yùn)動(dòng))。

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

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

保存收集到的數(shù)據(jù)并計(jì)算結(jié)果后,就可以實(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. 視覺(jué)跟蹤

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

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

基于從識(shí)別出的代碼中返回的坐標(biāo),機(jī)械臂相應(yīng)地移動(dòng),沿末端執(zhí)行器的 XYZ 軸進(jìn)行運(yùn)動(dòng),以實(shí)現(xiàn)跟蹤目標(biāo)。

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)

總結(jié)

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

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

    關(guān)注

    213

    文章

    30542

    瀏覽量

    219276
  • 機(jī)械臂
    +關(guān)注

    關(guān)注

    13

    文章

    578

    瀏覽量

    25946
  • 大象機(jī)器人
    +關(guān)注

    關(guān)注

    0

    文章

    86

    瀏覽量

    312

原文標(biāo)題:使用myCobot 320機(jī)械臂實(shí)現(xiàn)視覺(jué)跟蹤和手眼校準(zhǔn)案例

文章出處:【微信號(hào):ElephantRobotics,微信公眾號(hào):大象機(jī)器人】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    大象機(jī)器人攜手進(jìn)迭時(shí)空推出 RISC-V 全棧開(kāi)源六軸機(jī)械產(chǎn)品

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

    開(kāi)源工業(yè)增強(qiáng)機(jī)械

    :是一套完全開(kāi)源的系統(tǒng)平臺(tái),增強(qiáng)機(jī)械擁有一套圖形化編程軟件,即用戶不需要懂任何編程的知識(shí),只需要通過(guò)計(jì)算機(jī)電腦通過(guò)圖像拖拽機(jī)械就能夠?qū)?/div>
    發(fā)表于 10-23 11:29

    機(jī)器人:高級(jí)創(chuàng)王總經(jīng)典在線問(wèn)答整理

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

    【Landzo C1申請(qǐng)】星創(chuàng)教育培訓(xùn)

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

    【KittenBot機(jī)器人試用申請(qǐng)】makers club創(chuàng)俱樂(lè)部新課程引進(jìn)項(xiàng)目

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

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

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

    如何控制真實(shí)機(jī)械/機(jī)器人

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

    機(jī)器人系統(tǒng)與控制需求簡(jiǎn)介

    、KUKA、Yaskawa Motoman、FANUC2.2.1 本體結(jié)構(gòu)本體結(jié)構(gòu)分類:不同機(jī)器人建模控制的本質(zhì)區(qū)別關(guān)節(jié)機(jī)械:串聯(lián)垂直多關(guān)節(jié)6軸
    發(fā)表于 09-08 07:44

    制作一個(gè)教育機(jī)器人

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

    mBot教育機(jī)器人套件演示

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

    機(jī)械和移動(dòng)機(jī)器人的架構(gòu)介紹

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

    智能小六軸機(jī)械重磅賦能機(jī)器人教育

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

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

    你有沒(méi)有想過(guò)擁有一臺(tái)可以幫你做很多事情的機(jī)器人? 它不是科幻電影的中巨型機(jī)器人,而是一個(gè)小巧緊湊的多功能機(jī)器人! 我有!我們已經(jīng)把「想法」變成「現(xiàn)實(shí)」。可靠的桌面級(jí)小六軸機(jī)械
    發(fā)表于 06-06 12:44 ?1507次閱讀

    機(jī)械教育醫(yī)療領(lǐng)域的應(yīng)用

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

    自動(dòng)化革命:大象機(jī)器人的Mercury A1機(jī)械

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